gpt4 book ai didi

python热力图实现简单方法

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章python热力图实现简单方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

在我们想要对不同变量进行判断的时候,会分析其中的之间的联系。这种理念同样也被用在实例生活中,最常见到的是做一个地理的热力图。很多人对画热力图的方法不是很清楚,我们可以先装好相关的工具,了解一些使用参数,然后在实例中进行画热力图的实例体验,下面就来看看具体的方法吧.

1.导入相关的packages

?
1
2
3
import seaborn as sns
% matplotlib inline
sns. set (font_scale = 1.5 )

2.参数

vmax:设置颜色带的最大值 。

vmin:设置颜色带的最小值 。

cmap:设置颜色带的色系 。

center:设置颜色带的分界线 。

annot:是否显示数值注释 。

fmt:format的缩写,设置数值的格式化形式 。

linewidths:控制每个小方格之间的间距 。

linecolor:控制分割线的颜色 。

cbar_kws:关于颜色带的设置 。

mask:传入布尔型矩阵,若为矩阵内为True,则热力图相应的位置的数据将会被屏蔽掉(常用在绘制相关系数矩阵图) 。

3.实例

用Python生成heatmap比较简单,导入googlmap然后把经纬度plot在地图上就可以了。最后把heatmap生成为一个html文件,可以放大和缩小.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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' )

内容扩展:

实例扩展1 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
# -*- 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" ) #点击图
heat.heatmap(save_as = "2.png" ) #热图

实例扩展2 。

?
1
2
3
4
5
6
7
8
9
10
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热力图实现简单方法的详细内容,更多关于python热力图的原理实现的资料请关注我其它相关文章! 。

原文链接:https://www.py.cn/jishu/jichu/23453.html 。

最后此篇关于python热力图实现简单方法的文章就讲到这里了,如果你想了解更多关于python热力图实现简单方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com