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的函数嵌套的使用方法
Jan 24 Python
python实现mysql的单引号字符串过滤方法
Nov 14 Python
利用pyinstaller或virtualenv将python程序打包详解
Mar 22 Python
python将unicode转为str的方法
Jun 21 Python
sublime python3 输入换行不结束的方法
Apr 19 Python
Python面向对象程序设计之继承与多继承用法分析
Jul 13 Python
python 读取鼠标点击坐标的实例
Dec 29 Python
python打开windows应用程序的实例
Jun 28 Python
python 提取文件指定列的方法示例
Aug 07 Python
python利用proxybroker构建爬虫免费IP代理池的实现
Feb 21 Python
python中os.path.join()函数实例用法
May 26 Python
如何利用python创作字符画
Jun 25 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与MySQL交互使用详解
2006/10/09 PHP
php MYSQL 数据备份类
2009/06/19 PHP
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
2013/06/03 PHP
php json_encode值中大括号与花括号区别
2013/09/30 PHP
PHP登陆后跳转到登陆前页面实现思路及代码
2014/01/17 PHP
php分页查询mysql结果的base64处理方法示例
2017/05/18 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
Codeigniter里的无刷新上传的实现代码
2019/04/14 PHP
php中的buffer缓冲区用法分析
2019/05/31 PHP
用户注册常用javascript代码
2009/08/29 Javascript
IE8对JS通过属性和数组遍历解析不一样的地方探讨
2013/05/06 Javascript
JS随机漂浮广告代码具体实例
2013/11/19 Javascript
jquery dialog open后,服务器端控件失效的快速解决方法
2013/12/19 Javascript
现如今最流行的JavaScript代码规范
2014/03/08 Javascript
Express作者TJ告别Node.js奔向Go
2014/07/14 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
2015/06/16 Javascript
WordPress 单页面上一页下一页的实现方法【附代码】
2016/03/10 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
2016/07/27 Javascript
JS实现touch 点击滑动轮播实例代码
2017/01/19 Javascript
mac上node.js环境的安装测试
2017/07/03 Javascript
使用JavaScript实现alert的实例代码
2017/07/06 Javascript
vue如何解决循环引用组件报错的问题
2018/09/22 Javascript
python提示No module named images的解决方法
2014/09/29 Python
python清除字符串前后空格函数的方法
2018/10/21 Python
Python 函数用法简单示例【定义、参数、返回值、函数嵌套】
2019/09/20 Python
Pytorch .pth权重文件的使用解析
2020/02/14 Python
澳大利亚潮流尖端的快时尚品牌:Cotton On
2016/09/26 全球购物
全球游戏Keys和卡片市场:GamesDeal
2018/03/28 全球购物
thinkphp5 redis缓存新增方法实例讲解
2021/03/24 PHP
技校毕业生自荐信
2014/06/03 职场文书
市场营销工作计划书
2014/09/15 职场文书
2014年个人委托书范本
2014/10/13 职场文书
社区综治工作汇报
2014/10/27 职场文书
2014年企业党支部工作总结
2014/12/04 职场文书
SQL之各种join小结详细讲解
2021/08/04 MySQL