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判断端口是否打开的实现代码
Feb 10 Python
python统计日志ip访问数的方法
Jul 06 Python
使用Python实现博客上进行自动翻页
Aug 23 Python
Python使用回溯法子集树模板解决迷宫问题示例
Sep 01 Python
python 删除指定时间间隔之前的文件实例
Apr 24 Python
Django使用HttpResponse返回图片并显示的方法
May 22 Python
在Python dataframe中出生日期转化为年龄的实现方法
Oct 20 Python
python实现栅栏加解密 支持密钥加密
Mar 20 Python
Python 中Django验证码功能的实现代码
Jun 20 Python
在pycharm中实现删除bookmark
Feb 14 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
Jul 14 Python
python 模块重载的五种方法
Apr 24 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数据结构 算法(PHP描述) 简单选择排序 simple selection sort
2011/08/09 PHP
PHP命名空间(namespace)的使用基础及示例
2014/08/18 PHP
php的ddos攻击解决方法
2015/01/08 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
js判断样式className同时增加class或删除class
2013/01/30 Javascript
JS常见问题整理(持续更新)
2013/08/06 Javascript
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
JavaScript获取当前网页标题(title)的方法
2015/04/03 Javascript
JavaScript实现定时隐藏与显示图片的方法
2015/08/06 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
jQuery实现表格元素动态创建功能
2017/01/09 Javascript
BootStrap的select2既可以查询又可以输入的实现代码
2017/02/17 Javascript
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
解决vue-cli 打包后自定义动画未执行的问题
2019/11/12 Javascript
vue 实现 rem 布局或vw 布局的方法
2019/11/13 Javascript
js实现网页版贪吃蛇游戏
2020/02/22 Javascript
vue 自定义组件的写法与用法详解
2020/03/04 Javascript
解决vue init webpack 下载依赖卡住不动的问题
2020/11/09 Javascript
[56:20]LGD vs VP Supermajor 败者组决赛 BO3 第三场 6.10
2018/07/04 DOTA
Python实现单词翻译功能
2017/06/06 Python
Python语言描述随机梯度下降法
2018/01/04 Python
python爬取淘宝商品详情页数据
2018/02/23 Python
使用Python来开发微信功能
2018/06/13 Python
pycharm 实现显示project 选项卡的方法
2019/01/17 Python
PyInstaller的安装和使用的详细步骤
2020/06/02 Python
清除canvas画布内容(点擦除+线擦除)
2020/08/12 HTML / CSS
LINUX下线程,GDI类的解释
2012/04/17 面试题
什么是方法的重载
2013/06/24 面试题
点菜员岗位职责范本
2014/02/14 职场文书
买房协议书范本
2014/10/23 职场文书
感谢信的格式
2015/01/21 职场文书
开会通知短信大全
2015/04/20 职场文书
《失物招领》教学反思
2016/02/20 职场文书
利用Sharding-Jdbc进行分库分表的操作代码
2022/01/22 Java/Android
python 闭包函数详细介绍
2022/04/19 Python
Python使用Web框架Flask开发项目
2022/06/01 Python