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开发编码规范
Sep 08 Python
Django1.3添加app提示模块不存在的解决方法
Aug 26 Python
Python使用os模块和fileinput模块来操作文件目录
Jan 19 Python
基于Python os模块常用命令介绍
Nov 03 Python
Python中生成器和迭代器的区别详解
Feb 10 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
Jun 27 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
Apr 18 Python
Python中的类与类型示例详解
Jul 10 Python
利用python实现汉字转拼音的2种方法
Aug 12 Python
python OpenCV GrabCut使用实例解析
Nov 11 Python
解析PyCharm Python运行权限问题
Jan 08 Python
Python DES加密实现原理及实例解析
Jul 17 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
如何取得中文字符串中出现次数最多的子串
2013/08/08 PHP
php使用fullcalendar日历插件详解
2019/03/06 PHP
thinkphp5.1框架容器与依赖注入实例分析
2019/07/23 PHP
关于Javascript 的 prototype问题。
2007/01/03 Javascript
Javascript的闭包
2009/12/31 Javascript
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
javascript面向对象之二 命名空间
2011/02/08 Javascript
JS对象与JSON格式数据相互转换
2012/02/20 Javascript
拖动table标题实现改变td的大小(css+js代码)
2013/04/16 Javascript
利用jQuery简单实现产品展示图片左右滚动功能(示例代码)
2014/01/02 Javascript
JavaScript函数学习总结以及相关的编程习惯指南
2015/11/16 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
2015/12/18 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
2016/09/19 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
2016/11/09 Javascript
基于Vue的文字跑马灯组件(npm 组件包)
2017/05/24 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
2017/11/03 Javascript
javascript中new Array()和var arr=[]用法区别
2017/12/01 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
通过vue刷新左侧菜单栏操作
2020/08/06 Javascript
基于Cesium绘制抛物弧线
2020/11/18 Javascript
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
python监控进程状态,记录重启时间及进程号的实例
2019/07/15 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
2020/06/02 Python
Champion官网:美国冠军运动服装
2017/01/25 全球购物
构造器Constructor是否可被override?
2013/08/06 面试题
品恩科技软件测试面试题
2014/10/26 面试题
精细化工应届生求职信
2013/11/17 职场文书
单位成立周年感言
2014/01/26 职场文书
开朗女孩的自我评价
2014/02/10 职场文书
赔偿协议书范本
2014/04/15 职场文书
公司前台接待岗位职责
2015/04/03 职场文书
食品卫生管理制度
2015/08/06 职场文书
银行工作心得体会范文
2016/01/23 职场文书
LayUI+Shiro实现动态菜单并记住菜单收展的示例
2021/05/06 Javascript