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类的基础入门知识
Nov 24 Python
python 正则式 概述及常用字符
May 07 Python
Python获取远程文件大小的函数代码分享
May 13 Python
python变量不能以数字打头详解
Jul 06 Python
利用Python找出序列中出现最多的元素示例代码
Dec 08 Python
Python即时网络爬虫项目启动说明详解
Feb 23 Python
python画折线图的程序
Jul 26 Python
Python使用pymongo库操作MongoDB数据库的方法实例
Feb 22 Python
Pycharm 2019 破解激活方法图文详解
Oct 11 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
Dec 13 Python
python利用opencv实现SIFT特征提取与匹配
Mar 05 Python
Python探索生命起源 matplotlib细胞自动机动画演示
Apr 21 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
德生H-501的评价与改造
2021/03/02 无线电
windows下开发并编译PHP扩展的方法
2011/03/18 PHP
基于MySQL到MongoDB简易对照表的详解
2013/06/03 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
2014/11/29 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
2016/03/18 PHP
微信支付的开发流程详解
2016/09/13 PHP
一步一步教你写一个jQuery的插件教程(Plugin)
2009/09/03 Javascript
基于jquery的滚动新闻列表
2010/06/19 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
2013/08/02 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
2016/06/23 Javascript
前端程序员必须知道的高性能Javascript知识
2016/08/24 Javascript
Angularjs中的页面访问权限怎么设置
2016/11/11 Javascript
JS插件plupload.js实现多图上传并显示进度条
2016/11/29 Javascript
vue.js 实现点击按钮动态添加li的方法
2018/09/07 Javascript
Element Input组件分析小结
2018/10/11 Javascript
Vue源码解析之数组变异的实现
2018/12/04 Javascript
Three.js实现3D机房效果
2018/12/30 Javascript
详解js动态获取浏览器或页面等容器的宽高
2019/03/13 Javascript
详解Vite的新体验
2021/02/22 Javascript
[01:09:40]Newbee vs Pain 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
2017/05/03 Python
python方法生成txt标签文件的实例代码
2018/05/10 Python
Python中PyQt5/PySide2的按钮控件使用实例
2019/08/17 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
html5中audio支持音频格式的解决方法
2018/08/24 HTML / CSS
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
中专毕业生个人职业生涯规划
2014/02/19 职场文书
可口可乐广告词
2014/03/20 职场文书
《谁的本领大》教后反思
2014/04/25 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
大四毕业生自荐书
2014/07/05 职场文书
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
2021/05/28 Python
Android Rxjava3 使用场景详解
2022/04/07 Java/Android
Python安装及建立虚拟环境的完整步骤
2022/06/25 Servers