python熱力圖的原理實(shí)現(xiàn)
在我們想要對不同變量進(jìn)行判斷的時(shí)候,會分析其中的之間的聯(lián)系。這種理念同樣也被用在實(shí)例生活中,最常見到的是做一個(gè)地理的熱力圖。很多人對畫熱力圖的方法不是很清楚,我們可以先裝好相關(guān)的工具,了解一些使用參數(shù),然后在實(shí)例中進(jìn)行畫熱力圖的實(shí)例體驗(yàn),下面就來看看具體的方法吧。
1.導(dǎo)入相關(guān)的packages
importseabornassns
%matplotlibinline
sns.set(font_scale=1.5)
2.參數(shù)
vmax:設(shè)置顏色帶的值
vmin:設(shè)置顏色帶的最小值
cmap:設(shè)置顏色帶的色系
center:設(shè)置顏色帶的分界線
annot:是否顯示數(shù)值注釋
fmt:format的縮寫,設(shè)置數(shù)值的格式化形式
linewidths:控制每個(gè)小方格之間的間距
linecolor:控制分割線的顏色
cbar_kws:關(guān)于顏色帶的設(shè)置
mask:傳入布爾型矩陣,若為矩陣內(nèi)為True,則熱力圖相應(yīng)的位置的數(shù)據(jù)將會被屏蔽掉(常用在繪制相關(guān)系數(shù)矩陣圖)
3.實(shí)例
用Python生成heatmap比較簡單,導(dǎo)入googlmap然后把經(jīng)緯度plot在地圖上就可以了。最后把heatmap生成為一個(gè)html文件,可以放大和縮小。
importgmplot#plotthelocationsongooglemap
importnumpyasnp#linearalgebra
importpandasaspd#dataprocessing,CSVfileI/O(e.g.pd.read_csv())
importmatplotlib.pyplotasplt#datavisualization
importseabornassns#datavisualization
df=pd.read_csv("data.csv")
df=pd.DataFrame(df)
df_td=pd.read_csv("datacopy.csv")
df_td=pd.DataFrame(df_td)
#printdf.dtypes
print(df.shape)
print(df_td.shape)
defplot_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])
#Initializethemaptothefirstlocationinthelist
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)
#WritethemapinanHTMLfile
#gmap.draw('Paths_map.html')
gmap.draw('{}_Paths_map.html'.format(number))
plot_heat_map(df,'4')
以上就是python熱力圖的原理實(shí)現(xiàn),大家可以先跟著代碼試驗(yàn)一下,看看是否能運(yùn)行出相關(guān)的熱力圖,然后就其中的一些知識點(diǎn)進(jìn)行學(xué)習(xí)。更多Python學(xué)習(xí)教程請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。