python热力图实现简单方法

作者:小妮浅浅 时间:2023-10-28 06:14:41 

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

1.导入相关的packages


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文件,可以放大和缩小。


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


# -*- 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


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()

来源:https://www.py.cn/jishu/jichu/23453.html

标签:python,热力图
0
投稿

猜你喜欢

  • 微信小程序实现滑动删除效果

    2024-04-19 10:03:45
  • Python入门之modf()方法的使用

    2023-02-27 10:11:53
  • Python文件名的匹配之clob库

    2022-11-17 06:59:46
  • Sql学习第四天——SQL 关于with cube,with rollup和grouping解释及演示

    2024-01-26 03:41:13
  • Golang使用Consul详解

    2024-04-26 17:35:56
  • 戴尔是如何设计新官网首页的

    2008-07-08 19:02:00
  • js实现一个简易的计算器

    2024-02-23 11:48:31
  • python实现画桃心表白

    2021-05-14 16:27:00
  • python中的sys模块和os模块

    2021-07-06 00:43:17
  • Python函数进阶与文件操作详情

    2023-09-12 17:24:33
  • 检测SQL Server是否有特洛伊木马

    2009-02-24 15:19:00
  • Oracle数据库集复制方法浅议

    2010-07-21 12:50:00
  • 如何创建CSS的对象,获取合适的粒度

    2010-07-09 13:10:00
  • 浅谈mysql数据库中的using的用法

    2024-01-28 17:33:49
  • 详解Python计算机视觉 图像扭曲(仿射扭曲)

    2021-06-13 15:57:43
  • Python简明讲解filter函数的用法

    2021-07-24 13:00:38
  • select下拉菜单实现二级联动效果

    2023-05-22 22:30:32
  • 浅谈go语言renderer包代码分析

    2024-05-08 10:13:56
  • css清除浮动“clear:both;”的应用

    2008-03-17 12:54:00
  • 一文教你用Pyecharts做交互图表

    2022-11-20 22:33:38
  • asp之家 网络编程 m.aspxhome.com