python熱力圖實(shí)現(xiàn)簡(jiǎn)單方法
在我們想要對(duì)不同變量進(jìn)行判斷的時(shí)候,會(huì)分析其中的之間的聯(lián)系。這種理念同樣也被用在實(shí)例生活中,最常見(jiàn)到的是做一個(gè)地理的熱力圖。很多人對(duì)畫(huà)熱力圖的方法不是很清楚,我們可以先裝好相關(guān)的工具,了解一些使用參數(shù),然后在實(shí)例中進(jìn)行畫(huà)熱力圖的實(shí)例體驗(yàn),下面就來(lái)看看具體的方法吧。
1.導(dǎo)入相關(guān)的packagesimport seaborn as sns%matplotlib inlinesns.set(font_scale=1.5)2.參數(shù)
vmax:設(shè)置顏色帶的最大值
vmin:設(shè)置顏色帶的最小值
cmap:設(shè)置顏色帶的色系
center:設(shè)置顏色帶的分界線
annot:是否顯示數(shù)值注釋
fmt:format的縮寫(xiě),設(shè)置數(shù)值的格式化形式
linewidths:控制每個(gè)小方格之間的間距
linecolor:控制分割線的顏色
cbar_kws:關(guān)于顏色帶的設(shè)置
mask:傳入布爾型矩陣,若為矩陣內(nèi)為T(mén)rue,則熱力圖相應(yīng)的位置的數(shù)據(jù)將會(huì)被屏蔽掉(常用在繪制相關(guān)系數(shù)矩陣圖)
3.實(shí)例用Python生成heatmap比較簡(jiǎn)單,導(dǎo)入googlmap然后把經(jīng)緯度plot在地圖上就可以了。最后把heatmap生成為一個(gè)html文件,可以放大和縮小。
import gmplot # plot the locations on google mapimport numpy as np # linear algebraimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv())import matplotlib.pyplot as plt # data visualizationimport seaborn as sns # data visualizationdf = pd.read_csv('data.csv')df = pd.DataFrame(df)df_td = pd.read_csv('datacopy.csv')df_td = pd.DataFrame(df_td)# print df.dtypesprint (df.shape)print (df_td.shape)def plot_heat_map(data, number): latitude_array = data[’INTPTLAT’].values latitude_list = latitude_array.tolist() print(latitude_list[0]) Longitude_array = data[’INTPTLONG’].values longitude_list = Longitude_array.tolist() print(longitude_list[0]) # Initialize the map to the first location in the list gmap = gmplot.GoogleMapPlotter(latitude_list[0], longitude_list[0], 10) # gmap.scatter(latitude_list, longitude_list, edge_width=10) gmap.heatmap(latitude_list, longitude_list) # Write the map in an HTML file # gmap.draw(’Paths_map.html’) gmap.draw(’{}_Paths_map.html’.format(number))plot_heat_map(df,’4’)
內(nèi)容擴(kuò)展:
實(shí)例擴(kuò)展1
# -*- coding: utf-8 -*-from pyheatmap.heatmap import HeatMapimport numpy as npN = 10000X = np.random.rand(N) * 255 # [0, 255]Y = np.random.rand(N) * 255data = []for i in range(N): tmp = [int(X[i]), int(Y[i]), 1] data.append(tmp)heat = HeatMap(data)heat.clickmap(save_as='1.png') #點(diǎn)擊圖heat.heatmap(save_as='2.png') #熱圖
實(shí)例擴(kuò)展2
import matplotlib.pyplot as pltimport matplotlib.cm as cmfrom matplotlib.colors import LogNormimport numpy as npx, y = np.random.rand(10), np.random.rand(10)z = (np.random.rand(9000000)+np.linspace(0,1, 9000000)).reshape(3000, 3000)plt.imshow(z+10, extent=(np.amin(x), np.amax(x), np.amin(y), np.amax(y)), cmap=cm.hot, norm=LogNorm())plt.colorbar()plt.show()
以上就是python熱力圖實(shí)現(xiàn)簡(jiǎn)單方法的詳細(xì)內(nèi)容,更多關(guān)于python熱力圖的原理實(shí)現(xiàn)的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. .Net加密神器Eazfuscator.NET?2023.2?最新版使用教程2. jsp文件下載功能實(shí)現(xiàn)代碼3. 如何在jsp界面中插入圖片4. ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享5. 詳解瀏覽器的緩存機(jī)制6. .Net Core和RabbitMQ限制循環(huán)消費(fèi)的方法7. Xml簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理8. phpstudy apache開(kāi)啟ssi使用詳解9. jsp實(shí)現(xiàn)登錄驗(yàn)證的過(guò)濾器10. JSP之表單提交get和post的區(qū)別詳解及實(shí)例
