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 相关文章推荐
Django自定义分页效果
Jun 27 Python
python中使用psutil查看内存占用的情况
Jun 11 Python
Python Grid使用和布局详解
Jun 30 Python
python生成以及打开json、csv和txt文件的实例
Nov 16 Python
基于Python的图像数据增强Data Augmentation解析
Aug 13 Python
简单了解python 生成器 列表推导式 生成器表达式
Aug 22 Python
python科学计算之narray对象用法
Nov 25 Python
Python必须了解的35个关键词
Jul 16 Python
python爬虫用mongodb的理由
Jul 28 Python
基于Python的接口自动化读写excel文件的方法
Jan 15 Python
python 实现的车牌识别项目
Jan 25 Python
7个关于Python的经典基础案例
Nov 07 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读取IMAP邮件
2006/10/09 PHP
php 数组的创建、调用和更新实现代码
2009/03/09 PHP
PHP实现股票趋势图和柱形图
2015/02/07 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
php实现网页上一页下一页翻页过程详解
2019/06/28 PHP
Ucren Virtual Desktop V2.0
2006/11/07 Javascript
通过JAVAScript实现页面自适应
2007/01/19 Javascript
IE8 浏览器Cookie的处理
2009/01/31 Javascript
asp.net+jquery滚动滚动条加载数据的下拉控件
2010/06/25 Javascript
javascript天然的迭代器
2010/10/29 Javascript
jquery键盘事件介绍
2011/01/31 Javascript
javascript:void(0)是什么意思示例介绍
2013/11/17 Javascript
js报$ is not a function 的问题的解决方法
2014/01/20 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
vue使用axios跨域请求数据问题详解
2017/10/18 Javascript
js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法)
2017/12/28 Javascript
微信小程序实现跑马灯效果完整代码(附效果图)
2018/05/30 Javascript
基于Vue.js与WordPress Rest API构建单页应用详解
2019/09/16 Javascript
微信小程序canvas动态时钟
2020/10/22 Javascript
[59:07]海涛为你详解DOTA2新版本“贤哲秘契”
2014/11/22 DOTA
python实现异步回调机制代码分享
2014/01/10 Python
Python利用多进程将大量数据放入有限内存的教程
2015/04/01 Python
深入解析Python中的线程同步方法
2016/06/14 Python
Python对切片命名的实现方法
2018/10/16 Python
Python 多维List创建的问题小结
2019/01/18 Python
python+mysql实现教务管理系统
2019/02/20 Python
伯利陶器:Burleigh Pottery
2018/01/03 全球购物
岗位职责的构建方法
2014/02/01 职场文书
乔布斯斯坦福大学演讲稿
2014/05/23 职场文书
最美孝心少年事迹材料
2014/08/15 职场文书
借款协议书
2014/09/16 职场文书
教师自查自纠工作情况报告
2014/10/29 职场文书
小学主题班会教案
2015/08/17 职场文书
MySQL 隔离数据列和前缀索引的使用总结
2021/05/14 MySQL
台式电脑蓝牙适配器怎么安装?台式电脑蓝牙适配器安装教程
2022/04/08 数码科技
Golang gRPC HTTP协议转换示例
2022/06/16 Golang