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 相关文章推荐
取numpy数组的某几行某几列方法
Apr 03 Python
对python 矩阵转置transpose的实例讲解
Apr 17 Python
Python3实现的字典遍历操作详解
Apr 18 Python
python调用百度地图WEB服务API获取地点对应坐标值
Jan 16 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
Jun 12 Python
python psutil模块使用方法解析
Aug 01 Python
PYTHON发送邮件YAGMAIL的简单实现解析
Oct 28 Python
python3.8 微信发送服务器监控报警消息代码实现
Nov 05 Python
Python如何执行系统命令
Sep 23 Python
利用Python优雅的登录校园网
Oct 21 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
Nov 05 Python
python保存大型 .mat 数据文件报错超出 IO 限制的操作
May 10 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
PHP 面向对象 final类与final方法
2010/05/05 PHP
wamp下修改mysql访问密码的解决方法
2013/05/07 PHP
深入PHP变量存储的详解
2013/06/13 PHP
PHP实现将浏览历史页面网址保存到cookie的方法
2015/01/26 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
javascript中String类的subString()方法和slice()方法
2011/05/24 Javascript
jquery鼠标滑过提示title具体实现代码
2013/08/06 Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
2014/04/29 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
扒一扒JavaScript 预解释
2015/01/28 Javascript
jquery使用hide方法隐藏指定id的元素
2015/03/30 Javascript
JQuery判断checkbox是否选中及其它复选框操作方法合集
2015/06/01 Javascript
JavaScript常用数组算法小结
2016/02/13 Javascript
JavaScript学习笔记之取数组中最大值和最小值
2016/03/23 Javascript
JS 日期与时间戮相互转化的简单实例
2016/06/22 Javascript
js css+html实现简单的日历
2016/07/14 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
JSON键值对序列化和反序列化解析
2017/01/24 Javascript
JS运动特效之任意值添加运动的方法分析
2018/01/24 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
Vuex的实战使用详解
2019/10/31 Javascript
js实现移动端图片滑块验证功能
2020/09/29 Javascript
[05:13]2018DOTA2亚洲邀请赛主赛事第二日战况回顾 LGD、VG双雄携手晋级
2018/04/05 DOTA
Python解析Excle文件中的数据方法
2018/10/23 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
python使用协程实现并发操作的方法详解
2019/12/27 Python
详解django中Template语言
2020/02/22 Python
个人实用的自我评价范文
2013/11/23 职场文书
假释思想汇报范文
2014/10/11 职场文书
教师业务学习材料
2014/12/16 职场文书
先进基层党组织事迹材料
2014/12/25 职场文书
2015年治庸问责工作总结
2015/07/27 职场文书
学习焦裕禄先进事迹心得体会
2016/01/23 职场文书
element多个表单校验的实现
2021/05/27 Javascript
浅谈resultMap的用法及关联结果集映射
2021/06/30 Java/Android
MySQL系列之十四 MySQL的高可用实现
2021/07/02 MySQL