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的汉字转GBK码实现代码
Feb 19 Python
python 采集中文乱码问题的完美解决方法
Sep 27 Python
用matplotlib画等高线图详解
Dec 14 Python
Selenium 模拟浏览器动态加载页面的实现方法
May 16 Python
解决pycharm回车之后不能换行或不能缩进的问题
Jan 16 Python
详解使用python绘制混淆矩阵(confusion_matrix)
Jul 14 Python
代码总结Python2 和 Python3 字符串的区别
Jan 28 Python
利用python绘制数据曲线图的实现
Apr 09 Python
Python叠加矩形框图层2种方法及效果
Jun 18 Python
Python字典取键、值对的方法步骤
Sep 30 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
Feb 01 Python
Python OpenCV 图像平移的实现示例
Jun 04 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
数字转英文
2006/12/06 PHP
fleaphp rolesNameField bug解决方法
2011/04/23 PHP
PHP中替换换行符的几种方法小结
2012/10/15 PHP
PHP中抽象类、接口的区别与选择分析
2016/03/29 PHP
php微信分享到朋友圈、QQ、朋友、微博
2019/02/18 PHP
Laravel访问出错提示:`Warning: require(/vendor/autoload.php): failed to open stream: No such file or di解决方法
2019/04/02 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
详解PHP中curl_multi并发的实现
2020/06/08 PHP
Javascript基础教程之argument 详解
2015/01/18 Javascript
jquery实现select选择框内容左右移动代码分享
2015/11/21 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
详解使用 Node.js 开发简单的脚手架工具
2018/06/08 Javascript
vue实现标签云效果的方法详解
2019/08/28 Javascript
JS常见内存泄漏及解决方案解析
2020/05/30 Javascript
vue中的循环对象属性和属性值用法
2020/09/04 Javascript
Taro小程序自定义顶部导航栏功能的实现
2020/12/17 Javascript
Python二维码生成库qrcode安装和使用示例
2014/12/16 Python
python获取当前日期和时间的方法
2015/04/30 Python
Python编程中time模块的一些关键用法解析
2016/01/19 Python
Python实现的矩阵类实例
2017/08/22 Python
python ansible服务及剧本编写
2017/12/29 Python
python实现二叉查找树实例代码
2018/02/08 Python
Python元组拆包和具名元组解析实例详解
2018/03/26 Python
pandas的object对象转时间对象的方法
2018/04/11 Python
python实现批量图片格式转换
2020/06/16 Python
python学习之hook钩子的原理和使用
2018/10/25 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
Python 脚本拉取 Docker 镜像问题
2019/11/10 Python
Numpy中ndim、shape、dtype、astype的用法详解
2020/06/14 Python
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
台湾旅游网站:雄狮旅游网
2017/08/16 全球购物
小学红领巾广播稿(3篇)
2014/09/13 职场文书
红领巾广播站广播稿(3篇)
2014/09/20 职场文书
辞职离别感言
2015/08/04 职场文书
python实战之用emoji表情生成文字
2021/05/08 Python
Mongodb 迁移数据块的流程介绍分析
2022/04/18 MongoDB