原标题:【Python可视化6】Seaborn之heatmap热力图

Seaborn是基于matplotlib的Python可视化库。它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,不需要经过大量的调整就能使你的图变得精致。

注:所有代码均在IPython notebook中实现

· 正· 文· 来 · 啦 ·

heatmap 热力图

热力图在实际中常用于展示一组变量的相关系数矩阵,在展示列联表的数据分布上也有较大的用途,通过热力图我们可以非常直观地感受到数值大小的差异状况。heatmap的API如下所示:

下面将演示这些主要参数的用法,第一件事还是先导入相关的packages。

1importseaborn assns

2%matplotlib inline

3sns.set(font_scale= 1.5)

本次演示采用的数据集是Seaborn中内置的 flights航班数据集:

1#导入数据集后按年月两个维度进行数据透视

2data=sns.load_dataset( "flights")

3.pivot( "month", "year", "passengers")

4data.head

如上图所示,dataframe中的数据代表了1949年-1960年每个月的航班乘客数量,接下来热力图就隆重登场啦!

1sns.set_context({ "figure.figsize":( 8, 8)})

2sns.heatmap(data=data,square= True)

3#可以看到热力图主要展示的是二维数据的数据关系

4#不同大小的值对应不同的颜色深浅

热力图的右侧是颜色带,上面代表了数值到颜色的映射,数值由小到大对应色彩由暗到亮。从上面的heatmap中我们可以得到两层信息,一是随着时间的推移,飞机的乘客数量是在逐步增多的,二是航班的乘坐旺季在七月和八月份。下面就具体的参数进行演示。

vmax :设置颜色带的最大值

vmin :设置颜色带的最小值

1sns.heatmap(data=data,vmin= 200,

2vmax= 500)

可以看到右侧的颜色带最大最小值变了,而heatmap中颜色映射关系也会随之调整,将本图和上面的图进行对比便一目了然。

cmap :设置颜色带的色系

1sns.heatmap(data=data,cmap= "RdBu_r")

好像变好看了?

center :设置颜色带的分界线

1sns.heatmap(data=data,cmap= "RdBu_r",

2center= 300)

细心的朋友可以察觉到颜色带上色彩两级的分界线变成了300

annot :是否显示数值注释

1sns.heatmap(data=data,annot= True,

2cmap= "RdBu_r")

怎么回事?乱码了吗?其实数值注释默认显示的是 科学记数法的数值,我们得把数值进行格式化,这就用到了下面的参数。

fmt :format的缩写,设置数值的格式化形式

1sns.heatmap(data=data,annot= True,

2fmt= "d",cmap= "RdBu_r")

3#foramt为int类型

linewidths :控制每个小方格之间的间距

1sns.heatmap(data=data,annot= True,

2fmt= "d",linewidths= 0.3,

3cmap= "RdBu_r")

4#可以看到每个小方格之产生了间隙

linecolor :控制分割线的颜色

1sns.heatmap(data=data,annot= True,

2fmt= "d",linewidths= 0.3,

3linecolor= "grey",cmap= "RdBu_r")

4#原来的白色间隙变成了灰色间隙

cbar_kws :关于颜色带的设置

1sns.heatmap(data=data,annot= True,

2fmt= "d",cmap= "RdBu_r",

3cbar_kws={ "orientation": "horizontal"})

4#横向显示颜色帮

mask :传入布尔型矩阵,若为矩阵内为True,则热力图相应的位置的数据将会被屏蔽掉(常用在绘制相关系数矩阵图)

1importnumpy asnp

2#随机生成一个200行10列的数据集

3data_new = np.random.randn( 200, 10)

4

5#求出这个数据集的相关系数矩阵

6corr = np.corrcoef(data_new,rowvar= False)

7

8#以corr的形状生成一个全为0的矩阵

9mask = np.zeros_like(corr)

10

11#将mask的对角线及以上设置为True

12#这部分就是对应要被遮掉的部分

13mask[np.triu_indices_from(mask)] = True

14

15withsns.axes_style( "white"):

16sns.heatmap(corr, mask=mask, vmax= 0.3,

17annot= True,cmap= "RdBu_r")

如果大家对上面的代码流程不大了解,可以把mask打印出来看看

参照mask和上面绘制的图,应该就很容易理解了,mask中为1的部分,就是要被盖掉的部分。演示到此为止,想更深入的学习可以自行查阅官方文档!返回搜狐,查看更多

责任编辑:

python热力相关系数图_【Python可视化6】Seaborn之heatmap热力图相关推荐

  1. python 桑基图_数据可视化之 Sankey 桑基图的实现

    什么是桑基图 Google 搜索桑基图,可以搜到一大堆定义.简而言之,桑基图是一种数据流图,展示了数据是如何从左到右流向最后的节点,每条边代表一条数据流,宽度代表数据流的大小.桑基图常用于流量分析,可 ...

  2. python时间序列动图_手把手教你用Python进行时间序列分解和预测

    来源:数据派THU(ID:DatapiTHU) ▔ 作者:Mohit Sharma 翻译:王闯(Chuck) 校对:王可汗 预测是一件复杂的事情,在这方面做得好的企业会在同行业中出类拔萃.时间序列预测 ...

  3. python图形界面实践_数据可视化之实践篇——python

    一.10个可视化例子 import matplotlib.pyplot as plt import seaborn as sns import numpy as np import pandas as ...

  4. python生成热度图_Python数据可视化 热力图

    不要停止奔跑,不要回顾来路,来路无可眷恋,值得期待的只有前方.--<马男波杰克> ​​​​ 一.matplotlib绘制热力图 Matplotlib是Python著名的2D绘图库,该库仿造 ...

  5. python画平行坐标图_[宜配屋]听图阁

    平行坐标图,一种数据可视化的方式.以多个垂直平行的坐标轴表示多个维度,以维度上的刻度表示在该属性上对应值,相连而得的一个折线表示一个样本,以不同颜色区分类别. 但是很可惜,才疏学浅,没办法在Pytho ...

  6. 怎么用python读取excel图_如何用Python读取Excel中图片?

    公众号: 早起Python 作者:刘早起 大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是用pandas处理表格数据,但大多数情况下,都是读取表格中的数值进 ...

  7. python制作折线图_Python 绘制可视化折线图

    1. 用 Numpy ndarray 作为数据传入 ply 1 2 3 4 5 6 7 8 9 10 11 import numpy as np import matplotlib as mpl im ...

  8. python代码做图_超好看的弦图,Python一行代码就能做

    原标题:超好看的弦图,Python一行代码就能做 说起可视化图表,那么弦图( C hord Diagram)一定是颜值担当了,比如我们通过使用百度迁徙数据来可视化展示武汉及其周边城市的迁徙数据

  9. 利用python画分形图_使用 Python 绘制 Mandelbrot 分形图

    以前收集的关于Mandelbrot分形图的Python脚本,Mandelbrot集合的图像因它洛可可式繁复卷曲华丽的风格而受到大众的欣赏和赞叹,与其他分形图案一起,是许多艺术家和设计师的灵感来源. 是 ...

  10. python代码做图_如何用Python代码制作图

    Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的.大型项目的开发. 图是一 ...

最新文章

  1. 大数据:从入门到XX(一)
  2. 高等数学上-赵立军-北京大学出版社-题解-练习3.4
  3. MySQL数据库学习笔记
  4. 智商情商哪个重要_《所谓逆商高,就是心态好》:逆商,比情商和智商更重要...
  5. 操作class属性的新API--classList
  6. HTML批量转换jpg,html转换为图片(html to jpg)
  7. 先进过程工业控制与组态软件
  8. 使用网上软件激活win10后,默认谷歌浏览器被锁定hao123 解决思路
  9. TCPMP-interface相关文件函数解析 -about.c
  10. 微服务项目之电商4.0技术架构图
  11. mysql数据库事务模拟转账_mysql数据库事务阐发:实现银行转账功能的优化,附代码+实现过程...
  12. 通过dns2tcp绕过校园网认证进行免费上网
  13. CSS3旋转跳跃的立方体
  14. 超级计算机 计算化学,计算化学软件使用经验-超算中心.PDF
  15. 整型常量与实型常量、符号常量和字符常量的区别
  16. 北航计算机专业怎么样考研好考不,计算机专业考研,北航和北邮各有什么优势...
  17. 前端图片格式与浏览器性能优化
  18. HTML让背景图片铺满整个图片
  19. Xposed模块不生效的解决办法
  20. android手机主板,主板芯片全解

热门文章

  1. [物理学与PDEs]第1章第9节 Darwin 模型 9.3 Darwin 模型
  2. Service Started!!!-end In Service while
  3. php unset函数 赋值 null来销毁变量
  4. ClassLoader类解析
  5. Nacos集群(二)阿里自研弱一致性Distro协议核心实现
  6. 《Linux 系列》- 常用命令- 文件浏览命令]
  7. vue+element的表格分页和前端搜索
  8. 【设计模式】适配器模式
  9. Ajax Session Timeout处理
  10. FPGA STA(静态时序分析)