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
import seaborn as sns %matplotlib inline 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文件,可以放大和縮小。
import gmplot # plot the locations on google map
import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv())
import matplotlib.pyplot as plt # data visualization
import seaborn as sns # data visualization
df = pd.read_csv("data.csv")
df = pd.DataFrame(df)
df_td = pd.read_csv("datacopy.csv")
df_td = pd.DataFrame(df_td)
# print df.dtypes
print (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 HeatMap import numpy as np N = 10000 X = np.random.rand(N) * 255 # [0, 255] Y = np.random.rand(N) * 255 data = [] 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 plt import matplotlib.cm as cm from matplotlib.colors import LogNorm import numpy as np x, 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)簡單方法的詳細(xì)內(nèi)容,更多關(guān)于python熱力圖的原理實(shí)現(xiàn)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python實(shí)現(xiàn)郵件自動下載的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何利用Python語言實(shí)現(xiàn)郵件自動下載以及附件解析功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-07-07
Django admin model 漢化顯示文字的實(shí)現(xiàn)方法
今天小編就為大家分享一篇Django admin model 漢化顯示文字的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python使用PyCrypto實(shí)現(xiàn)AES加密功能示例
這篇文章主要介紹了Python使用PyCrypto實(shí)現(xiàn)AES加密功能,結(jié)合具體實(shí)例形式分析了PyCrypto實(shí)現(xiàn)AES加密的操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-05-05
django 鏈接多個(gè)數(shù)據(jù)庫 并使用原生sql實(shí)現(xiàn)
這篇文章主要介紹了django 鏈接多個(gè)數(shù)據(jù)庫 并使用原生sql實(shí)現(xiàn),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03

