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读取Android permission文件
Nov 01 Python
python修改注册表终止360进程实例
Oct 13 Python
解决Python传递中文参数的问题
Aug 04 Python
对命令行模式与python交互模式介绍
May 12 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
Aug 04 Python
Python拼接字符串的7种方法总结
Nov 01 Python
python使用phoenixdb操作hbase的方法示例
Feb 28 Python
python使用flask与js进行前后台交互的例子
Jul 19 Python
python实现大学人员管理系统
Oct 25 Python
python多线程高级锁condition简单用法示例
Nov 07 Python
在Django中预防CSRF攻击的操作
Mar 13 Python
python自动生成证件号的方法示例
Jan 14 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 防止单引号,双引号在接受页面转义
2008/07/10 PHP
PHP中获取文件扩展名的N种方法小结
2012/02/27 PHP
PHP7修改的函数
2021/03/09 PHP
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
js获取多个tagname的节点数组
2013/09/22 Javascript
根据身份证号自动输出相关信息(籍贯,出身日期,性别)
2013/11/15 Javascript
自己封装的javascript事件队列函数版
2014/06/12 Javascript
JavaScript简单遍历DOM对象所有属性的实现方法
2015/10/21 Javascript
javascript实现拖动元素交换位置
2015/11/29 Javascript
JavaScript对象数组排序实例方法浅析
2016/06/15 Javascript
用jQuery向div中添加Html文本内容的简单实现
2016/07/13 Javascript
实现JavaScript高性能的数据存储
2016/12/11 Javascript
Bootstrap显示与隐藏简单实现代码
2017/03/06 Javascript
AngularJS自定义指令详解(有分页插件代码)
2017/06/12 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
2017/09/03 jQuery
浅谈NodeJs之数据库异常处理
2017/10/25 NodeJs
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
swiper插件自定义切换箭头按钮
2017/12/28 Javascript
自己动手封装一个React Native多级联动
2018/09/19 Javascript
Vue 组件参数校验与非props特性的方法
2019/02/12 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
JavaScript的变量声明与声明提前用法实例分析
2019/11/26 Javascript
python计算方程式根的方法
2015/05/07 Python
Python实现快速计算词频功能示例
2018/06/25 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
2018/10/21 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
python sorted函数原理解析及练习
2020/02/10 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
PyCharm2019 安装和配置教程详解附激活码
2020/07/31 Python
CSS3 实现footer 固定在底部(无论页面多高始终在底部)
2019/10/15 HTML / CSS
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
夫妻吵架保证书
2015/05/08 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
鲁冰花观后感
2015/06/10 职场文书
MySQL 发生同步延迟时Seconds_Behind_Master还为0的原因
2021/06/21 MySQL
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js