python热力图实现简单方法


Posted in Python onJanuary 29, 2021

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

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

以上就是python热力图实现简单方法的详细内容,更多关于python热力图的原理实现的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python 文件与目录操作
Dec 24 Python
python赋值操作方法分享
Mar 23 Python
python实现的登录和操作开心网脚本分享
Jul 09 Python
跟老齐学Python之使用Python查询更新数据库
Nov 25 Python
Python写的Tkinter程序屏幕居中方法
Mar 10 Python
Python素数检测实例分析
Jun 15 Python
利用PyInstaller将python程序.py转为.exe的方法详解
May 03 Python
python爬取微信公众号文章
Aug 31 Python
详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击
Oct 09 Python
Python Web程序搭建简单的Web服务器
Jul 31 Python
Python队列RabbitMQ 使用方法实例记录
Aug 05 Python
使用python实现滑动验证码功能
Aug 05 Python
Ubuntu20.04环境安装tensorflow2的方法步骤
Jan 29 #Python
python3定位并识别图片验证码实现自动登录功能
Jan 29 #Python
python中numpy数组与list相互转换实例方法
Jan 29 #Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
Jan 29 #Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
Jan 29 #Python
python中spy++的使用超详细教程
Jan 29 #Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
Jan 29 #Python
You might like
CI框架Session.php源码分析
2014/11/03 PHP
Thinkphp 框架扩展之行为扩展原理与实现方法分析
2020/04/23 PHP
TNC vs BOOM BO3 第二场2.13
2021/03/10 DOTA
javascript 清除输入框中的数据
2009/04/13 Javascript
为JavaScript提供睡眠功能(sleep) 自编译JS引擎
2010/08/16 Javascript
通过JavaScript控制字体大小的代码
2011/10/04 Javascript
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
详解javascript中的事件处理
2015/11/06 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
详解Document.Cookie
2015/12/25 Javascript
基于javascript制作微博发布栏效果
2016/04/04 Javascript
浅析上传头像示例及其注意事项
2016/12/14 Javascript
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
vue组件之间数据传递的方法实例分析
2019/02/12 Javascript
JS拖拽排序插件Sortable.js用法实例分析
2019/02/20 Javascript
vue 列表页跳转详情页获取id以及详情页通过id获取数据
2019/03/27 Javascript
微信小程序自定义toast组件的方法详解【含动画】
2019/05/11 Javascript
[00:12]2018DOTA2亚洲邀请赛 sylar表现SOLO技艺
2018/04/06 DOTA
[00:52]玛尔斯技能全介绍
2019/03/06 DOTA
使用python删除nginx缓存文件示例(python文件操作)
2014/03/26 Python
Python SQLite3数据库日期与时间常见函数用法分析
2017/08/14 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
2017/09/22 Python
Python 反转字符串(reverse)的方法小结
2018/02/20 Python
python方法生成txt标签文件的实例代码
2018/05/10 Python
python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法
2018/09/13 Python
利用pyuic5将ui文件转换为py文件的方法
2019/06/19 Python
在python中将list分段并保存为array类型的方法
2019/07/15 Python
python十进制转二进制的详解
2020/02/07 Python
python如何从键盘获取输入实例
2020/06/18 Python
浅析Python 多行匹配模式
2020/07/24 Python
美国婚戒购物网站:Anjays Designs
2017/06/28 全球购物
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
大学生入党自我鉴定
2013/10/31 职场文书
汽车专业大学生职业生涯规划范文
2014/01/07 职场文书
入党介绍人意见范文
2015/06/01 职场文书