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 20 Python
在Python中使用__slots__方法的详细教程
Apr 28 Python
Python打造出适合自己的定制化Eclipse IDE
Mar 02 Python
python操作mysql代码总结
Jun 01 Python
Python写一个基于MD5的文件监听程序
Mar 11 Python
Python安装与基本数据类型教程详解
May 29 Python
libreoffice python 操作word及excel文档的方法
Jul 04 Python
python函数参数(必须参数、可变参数、关键字参数)
Aug 16 Python
Pandas聚合运算和分组运算的实现示例
Oct 17 Python
pytorch中图像的数据格式实例
Feb 11 Python
Python爬虫谷歌Chrome F12抓包过程原理解析
Jun 04 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
Oct 30 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
留言板翻页的实现详解
2006/10/09 PHP
PHP URL地址获取函数代码(端口等) 推荐
2010/05/15 PHP
PHP实现查询手机归属地的方法详解
2017/04/28 PHP
php-app开发接口加密详解
2018/04/18 PHP
List Information About the Binary Files Used by an Application
2007/06/18 Javascript
借用Google的Javascript API Loader来加速你的网站
2009/01/28 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
2014/08/15 Javascript
24款热门实用的jQuery插件推荐
2014/12/24 Javascript
JavaScript多线程详解
2015/08/12 Javascript
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
2016/03/29 Javascript
JavaScript 经典实例日常收集整理(常用经典)
2016/03/30 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
js面向对象编程总结
2017/02/16 Javascript
JavaScript实现动态增删表格的方法
2017/03/09 Javascript
vue-cli webpack 开发环境跨域详解
2017/05/18 Javascript
js实现简单数字变动效果
2017/11/06 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
详解Vue源码学习之callHook钩子函数
2018/07/25 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
jQuery实现异步上传一个或多个文件
2020/08/17 jQuery
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
用python实现的线程池实例代码
2018/01/06 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
2019/03/30 Python
Django用户认证系统 Web请求中的认证解析
2019/08/02 Python
opencv+python实现均值滤波
2020/02/19 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
Python爬虫之Selenium警告框(弹窗)处理
2020/12/04 Python
HTML5 语音搜索只需一句代码
2013/01/03 HTML / CSS
英国索普公园票务和酒店套餐:Thorpe Breaks
2019/09/14 全球购物
Linux的主要特性
2014/10/06 面试题
希特勒的演讲稿
2014/05/23 职场文书
月度优秀员工获奖感言
2014/08/16 职场文书
电子商务实训报告总结
2014/11/05 职场文书
会议邀请函
2015/01/30 职场文书
自主招生推荐信怎么写
2015/03/26 职场文书
七一慰问简报
2015/07/20 职场文书