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多线程编程(四):使用Lock互斥锁
Apr 05 Python
Python使用scrapy采集数据过程中放回下载过大页面的方法
Apr 08 Python
python利用lxml读写xml格式的文件
Aug 10 Python
pandas object格式转float64格式的方法
Apr 10 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
Jun 05 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
Dec 11 Python
Django Model中字段(field)的各种选项说明
May 19 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
Jun 18 Python
python中可以声明变量类型吗
Jun 18 Python
详解python metaclass(元类)
Aug 13 Python
python 实现定时任务的四种方式
Apr 01 Python
python基础之停用词过滤详解
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
Symfony2框架学习笔记之HTTP Cache用法详解
2016/03/18 PHP
PHP CURL采集百度搜寻结果图片不显示问题的解决方法
2017/02/03 PHP
javascript 写类方式之十
2009/07/05 Javascript
浅析Javascript使用include/require
2013/11/13 Javascript
JavaScript中的apply和call函数详解
2014/07/20 Javascript
限制只能输入数字的实现代码
2016/05/16 Javascript
jquery模拟多级复选框效果的简单实例
2016/06/08 Javascript
AngularJS过滤器filter用法分析
2016/12/11 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
2016/12/27 Javascript
Javascript实现信息滚动效果
2017/05/18 Javascript
javascript中new Array()和var arr=[]用法区别
2017/12/01 Javascript
vue2.0+ 从插件开发到npm发布的示例代码
2018/04/28 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
2018/05/16 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
[01:11:35]Liquid vs LGD 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python创建只读属性对象的方法(ReadOnlyObject)
2013/02/10 Python
跟老齐学Python之传说中的函数编写条规
2014/10/11 Python
解决Python传递中文参数的问题
2015/08/04 Python
关于Python面向对象编程的知识点总结
2017/02/14 Python
值得收藏,Python 开发中的高级技巧
2018/11/23 Python
梅尔倒谱系数(MFCC)实现
2019/06/19 Python
PyQt5实现QLineEdit添加clicked信号的方法
2019/06/25 Python
numpy中的meshgrid函数的使用
2019/07/31 Python
python标准库os库的函数介绍
2020/02/12 Python
python实时监控logstash日志代码
2020/04/27 Python
Python可以实现栈的结构吗
2020/05/27 Python
贝嫂喜欢的婴儿品牌,个性化的婴儿礼物:My 1st Years
2017/11/19 全球购物
特色蛋糕店创业计划书
2014/01/28 职场文书
带薪年假请假条
2014/02/04 职场文书
《每逢佳节倍思亲》教后反思
2014/04/19 职场文书
2014年教师党员自我评议
2014/09/19 职场文书
专业技术人员年度考核评语
2014/12/31 职场文书
社区国庆节活动总结
2015/03/23 职场文书
考勤制度通知
2015/04/25 职场文书
MySQL优化之如何写出高质量sql语句
2021/05/17 MySQL
MySQL外键约束(FOREIGN KEY)案例讲解
2021/08/23 MySQL