热力图

1、利用热力图可以看数据表里多个特征两两的相似度。参考官方API参数及地址:seaborn.heatmap(data, vmin=None, vmax=None,cmap=None, center=None, robust=False, annot=None, fmt=’.2g’, annot_kws=None,linewidths=0, linecolor=’white’, cbar=True, cbar_kws=None, cbar_ax=None,square=False, xticklabels=’auto’, yticklabels=’auto’, mask=None, ax=None,**kwargs)

(1)热力图输入数据参数:data:矩阵数据集,可以是numpy的数组(array),也可以是pandas的DataFrame。如果是DataFrame,则df的index/column信息会分别对应到heatmap的columns和rows,即pt.index是热力图的行标,pt.columns是热力图的列标

(2)热力图矩阵块颜色参数:vmax,vmin:分别是热力图的颜色取值最大和最小范围,默认是根据data数据表里的取值确定

cmap:从数字到色彩空间的映射,取值是matplotlib包里的colormap名称或颜色对象,或者表示颜色的列表;改参数默认值:根据center参数设定

center:数据表取值有差异时,设置热力图的色彩中心对齐值;通过设置center值,可以调整生成的图像颜色的整体深浅;设置center数据时,如果有数据溢出,则手动设置的vmax、vmin会自动改变

robust:默认取值False;如果是False,且没设定vmin和vmax的值,热力图的颜色映射范围根据具有鲁棒性的分位数设定,而不是用极值设定

(3)热力图矩阵块注释参数:annot(annotate的缩写):默认取值False;如果是True,在热力图每个方格写入数据;如果是矩阵,在热力图每个方格写入该矩阵对应位置数据

fmt:字符串格式代码,矩阵上标识数字的数据格式,比如保留小数点后几位数字

annot_kws:默认取值False;如果是True,设置热力图矩阵上数字的大小颜色字体,matplotlib包text类下的字体设置;官方文档:

(4)热力图矩阵块之间间隔及间隔线参数:linewidths:定义热力图里“表示两两特征关系的矩阵小块”之间的间隔大小

linecolor:切分热力图上每个矩阵小块的线的颜色,默认值是’white’

(5)热力图颜色刻度条参数:cbar:是否在热力图侧边绘制颜色刻度条,默认值是True

cbar_kws:热力图侧边绘制颜色刻度条时,相关字体设置,默认值是None

cbar_ax:热力图侧边绘制颜色刻度条时,刻度条位置设置,默认值是None

(6)square:设置热力图矩阵小块形状,默认值是Falsexticklabels, yticklabels:xticklabels控制每列标签名的输出;yticklabels控制每行标签名的输出。默认值是auto。如果是True,则以DataFrame的列名作为标签名。如果是False,则不添加行标签名。如果是列表,则标签名改为列表中给的内容。如果是整数K,则在图上每隔K个标签进行一次标注。 如果是auto,则自动选择标签的标注间距,将标签名不重叠的部分(或全部)输出

mask:控制某个矩阵块是否显示出来。默认值是None。如果是布尔型的DataFrame,则将DataFrame里True的位置用白色覆盖掉

ax:设置作图的坐标轴,一般画多个子图时需要修改不同的子图的该值

**kwargs:All other keyword arguments are passed to ax.pcolormesh

热力图矩阵块颜色参数#cmap(颜色)

import matplotlib.pyplot as plt

import numpy as np

% matplotlib inline

f, (ax1,ax2) = plt.subplots(figsize = (6,4),nrows=2)

# cmap用cubehelix map颜色

cmap = sns.cubehelix_palette(start = 1.5, rot = 3, gamma=0.8, as_cmap = True)

sns.heatmap(pt, linewidths = 0.05, ax = ax1, vmax=900, vmin=0, cmap=cmap)

pt = np.random.randint(low=0,high=900,size=(8,8))

ax1.set_title('cubehelix map')

ax1.set_xlabel('')

ax1.set_xticklabels([]) #设置x轴图例为空值

ax1.set_ylabel('kind')

# cmap用matplotlib colormap

sns.heatmap(pt, linewidths = 0.05, ax = ax2, vmax=900, vmin=0, cmap='rainbow')

# rainbow为 matplotlib 的colormap名称

ax2.set_title('matplotlib colormap')

ax2.set_xlabel('region')

ax2.set_ylabel('kind')

#center的用法(颜色)

f, (ax1,ax2) = plt.subplots(figsize = (6, 4),nrows=2)

f, (ax1,ax2) = plt.subplots(figsize = (6,4),nrows=2)

cmap = sns.cubehelix_palette(start = 1.5, rot = 3, gamma=0.8, as_cmap = True)

sns.heatmap(pt, linewidths = 0.05, ax = ax1, cmap=cmap, center=None )

ax1.set_title('center=None')

ax1.set_xlabel('')

ax1.set_xticklabels([]) #设置x轴图例为空值ax1.set_ylabel('kind')# 当center设置小于数据的均值时,生成的图片颜色要向0值代表的颜色一段偏移sns.heatmap(pt, linewidths = 0.05, ax = ax2, cmap=cmap, center=200)

ax2.set_title('center=3000')

ax2.set_xlabel('region')

ax2.set_ylabel('kind')

#annot(矩阵上数字),annot_kws(矩阵上数字的大小颜色字体)matplotlib包text类下的字体设置import numpy as np

np.random.seed(20180316)

x = np.random.randn(4, 4)

f, (ax1, ax2) = plt.subplots(figsize=(6,6),nrows=2)

sns.heatmap(x, annot=True, ax=ax1)

sns.heatmap(x, annot=True, ax=ax2, annot_kws={'size':9,'weight':'bold', 'color':'blue'})

#fmt(字符串格式代码,矩阵上标识数字的数据格式,比如保留小数点后几位数字)

import numpy as np

np.random.seed(0)

x = np.random.randn(4,4)

f, (ax1, ax2) = plt.subplots(figsize=(6,6),nrows=2)

sns.heatmap(x, annot=True, ax=ax1)

sns.heatmap(x, annot=True, fmt='.1f', ax=ax2)

热力图矩阵块之间间隔及间隔线参数#linewidths(矩阵小块的间隔),linecolor(切分热力图矩阵小块的线的颜色)

import matplotlib.pyplot as plt

f, ax = plt.subplots(figsize = (6,4))

cmap = sns.cubehelix_palette(start = 1, rot = 3, gamma=0.8, as_cmap = True)

sns.heatmap(pt, cmap = cmap, linewidths = 0.05, linecolor= 'red', ax = ax)

ax.set_title('Amounts per kind and region')

ax.set_xlabel('region')

ax.set_ylabel('kind')

#xticklabels,yticklabels横轴和纵轴的标签名输出import matplotlib.pyplot as plt

f, (ax1,ax2) = plt.subplots(figsize = (5,5),nrows=2)

cmap = sns.cubehelix_palette(start = 1.5, rot = 3, gamma=0.8, as_cmap = True)

p1 = sns.heatmap(pt, ax=ax1, cmap=cmap, center=None, xticklabels=False)

ax1.set_title('xticklabels=None',fontsize=8)

p2 = sns.heatmap(pt, ax=ax2, cmap=cmap, center=None, xticklabels=2, yticklabels=list(range(5)))

ax2.set_title('xticklabels=2, yticklabels is a list',fontsize=8)

ax2.set_xlabel('region')

#mask对某些矩阵块的显示进行覆盖

f, (ax1,ax2) = plt.subplots(figsize = (5,5),nrows=2)

cmap = sns.cubehelix_palette(start = 1.5, rot = 3, gamma=0.8, as_cmap = True)

p1 = sns.heatmap(pt, ax=ax1, cmap=cmap, xticklabels=False, mask=None)

ax1.set_title('mask=None')

ax1.set_ylabel('kind')

p2 = sns.heatmap(pt, ax=ax2, cmap=cmap, xticklabels=True, mask=(pt<800))

#mask对pt进行布尔型转化,结果为True的位置用白色覆盖

ax2.set_title('mask: boolean DataFrame')

ax2.set_xlabel('region')

ax2.set_ylabel('kind')

用mask实现:突出显示某些数据f,(ax1,ax2) = plt.subplots(figsize=(4,6),nrows=2)

x = np.array([[1,2,3],[2,0,1],[-1,-2,0]])

sns.heatmap(x, annot=True, ax=ax1)

sns.heatmap(x, mask=x < 1, ax=ax2, annot=True, annot_kws={"weight": "bold"})  #把小于1的区域覆盖掉

参考:http://www.php.cn/python-tutorials-391565.html

python制作热力图_python绘制热力图相关推荐

  1. python相关系数热力图_python绘制热力图heatmap

    本文实例为大家分享了python绘制热力图的具体代码,供大家参考,具体内容如下 python的热力图是用皮尔逊相关系数来查看两者之间的关联性. #encoding:utf-8 import numpy ...

  2. python制作日历_Python如何绘制日历图和热力图

    本文以2019年全国各城市的空气质量观测数据为例,利用matplotlib.calmap.pyecharts绘制日历图和热力图.在绘图之前先利用pandas对空气质量数据进行处理. 数据处理 从网站下 ...

  3. python 日历热力图_Python绘制日历图和热力图

    本文以2019年全国各城市的空气质量观测数据为例,利用matplotlib.calmap.pyecharts绘制日历图和热力图.在绘图之前先利用pandas对空气质量数据进行处理. 2019年全国各城 ...

  4. python日历图_Python绘制日历图和热力图

    本文以2019年全国各城市的空气质量观测数据为例,利用matplotlib.calmap.pyecharts绘制日历图和热力图.在绘图之前先利用pandas对空气质量数据进行处理. 2019年全国各城 ...

  5. python根据经纬度画热力图_python 绘制场景热力图的示例

    我们在做诸如人群密集度等可视化的时候,可能会考虑使用热力图,在Python中能很方便地绘制热力图. 下面以识别图片中的行人,并绘制热力图为例进行讲解. 步骤1:首先识别图像中的人,得到bounding ...

  6. python热力图代码_python绘制热力图heatmap

    本文实例为大家分享了python绘制热力图的具体代码,供大家参考,具体内容如下 python的热力图是用皮尔逊相关系数来查看两者之间的关联性. #encoding:utf-8 import numpy ...

  7. Python调用百度地图绘制热力图密钥问题

    首先奉上效果图: 问题描述: 因工作需求,必须用百度地图绘制热力图:发现因关于百度地图密钥的使用问题如下: 1.抓取经纬度信息状态码200: {"status":200," ...

  8. python制作图画_Python也能绘制艺术画?这里有一个完整教程

    介绍 我们知道Python作为一个程序语言,讲究的是严谨和逻辑:而艺术画似乎处于另一个维度,更多是无规则和随心所欲.然而我们却可以找到两者的交汇点.今天我们将学习如何用Python制作艺术图.一旦我们 ...

  9. python 制作抽奖_python制作抽奖程序代码详解

    实现制作抽奖程序,需要认知到我们可以看到一般抽奖程序界面上是有很多按钮的,比如中奖区域,按键开始区域等等,所以我们先要设置界面,然后把这些按钮添加到界面中去,想必这对于学过tkinter的同学应该不难 ...

  10. python奥运五环_Python绘制奥运五环

    绘制奥运五环主要涉及到Python中的turtle绘图库运用: turtle.forward(distance) 向当前画笔方向移动distance像素长度 turtle.backward(dista ...

最新文章

  1. 为什么TCP的TIME_WAIT状态要保持2MSL?
  2. 计算机应用主要设计到哪些方面,大学计算机应用基础教案设计.doc
  3. firefox是什么浏览器_我为什么不使用Firefox(火狐)浏览器
  4. java 二维数组的定义
  5. 大数据征信应用与启示 ——以美国互联网金融公司 ZestFinance为例
  6. Linux内核文档翻译
  7. 【OCR技术系列之八】端到端不定长文本识别CRNN代码实现
  8. unix 登录mysql_实例分析mysql用户登录。
  9. mysql 自定义序列号_在mysql中怎样设置,才能自动添加序列号
  10. csgo手机上看demo_仪表上的车速和手机导航不一样,哪个更准?碰到测速了该看哪个?...
  11. VC中不同类型DLL及区别
  12. mysql高频面试题合集
  13. 智能家居控制系统完整设计方案
  14. 将xlsx转换为xls格式
  15. win7计算机评分,终于全7.9!编辑冲击Win7系统分级满分
  16. Toolbar中setNavigationIcon的返回图标太大,图标大小调整解决方法
  17. k8s之滚动更新、金丝雀发布、蓝绿发布
  18. 使用cmd命令远程重启服务器
  19. 应用于客户端的性能测试指标
  20. 可编程控制器/微机接口及微机应用综合装置

热门文章

  1. 《计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法第2版》一2.1 工作流和可视化编程...
  2. 深刻对比一下阿里云服务器和腾讯云服务器的优劣和区别
  3. android实现接口的原则,《Android之大话设计模式》--设计原则 第一章:针对接口编程 不要针对实现编程...
  4. 如何将多个mp3文件合并成一个?
  5. 如何推广网站 网站推广增加访问量的29种方法
  6. 检查压缩包是否损坏_【安全知识】运动安全带检查PPE(个人防护装备)检查程序与表格...
  7. 2021年N1叉车司机找解析及N1叉车司机考试总结
  8. 系统清理维护与安全防护软件
  9. Oracle导入dmp文件步骤
  10. 【微服务】Nacos 注册中心的设计原理