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写冒泡排序代码
Apr 12 Python
python中import reload __import__的区别详解
Oct 16 Python
Python利用字典将两个通讯录文本合并为一个文本实例
Jan 16 Python
Python实现PS图像调整之对比度调整功能示例
Jan 26 Python
python基础教程项目四之新闻聚合
Apr 02 Python
解决PyCharm import torch包失败的问题
Oct 13 Python
python使用epoll实现服务端的方法
Oct 16 Python
解决python3读取Python2存储的pickle文件问题
Oct 25 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
Aug 20 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
Mar 12 Python
TensorFlow实现批量归一化操作的示例
Apr 22 Python
Python 合并拼接字符串的方法
Jul 28 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之第二天
2006/10/09 PHP
PHP session有效期session.gc_maxlifetime
2011/04/20 PHP
php实现单链表的实例代码
2013/03/22 PHP
PHP截断标题且兼容utf8和gb2312编码
2013/09/22 PHP
php自动加载autoload机制示例分享
2014/02/20 PHP
php验证码的制作思路和实现方法
2015/11/12 PHP
实例分析PHP将字符串转换成数字的方法
2019/01/27 PHP
安装docker和docker-compose实例详解
2019/07/30 PHP
javascript之对系统的toFixed()方法的修正
2007/05/08 Javascript
DIV外区域Click后关闭DIV的实现代码
2011/12/21 Javascript
推荐40款强大的 jQuery 导航插件和教程(上篇)
2012/09/14 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
jQuery判断checkbox是否选中的3种方法
2014/08/12 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
javascript 判断整数方法分享
2014/12/16 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
js 颜色选择插件
2017/01/23 Javascript
从零开始学习Node.js系列教程二:文本提交与显示方法
2017/04/13 Javascript
jQuery实现可拖动进度条实例代码
2017/06/21 jQuery
关于Vue组件库开发详析
2018/07/01 Javascript
js 将线性数据转为树形的示例代码
2019/05/28 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
python实现挑选出来100以内的质数
2015/03/24 Python
Python中使用ElementTree解析XML示例
2015/06/02 Python
Pytorch反向求导更新网络参数的方法
2019/08/17 Python
在python中利用try..except来代替if..else的用法
2019/12/19 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
详解使用CSS3的@media来编写响应式的页面
2017/11/01 HTML / CSS
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
高中生毕业学习总结的自我评价
2013/11/14 职场文书
航海技术专业毕业生求职信
2014/04/06 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
服装区域经理岗位职责
2015/04/10 职场文书
新娘婚礼答谢词
2015/09/29 职场文书
ES6 解构赋值的原理及运用
2021/05/25 Javascript