本文将了解到什么?

0、成品图展示

1、数据准备

2、seaborn.heatmap绘制correlation heatmap

默认参数绘制correlation heatmap

vmax设置颜色深浅

cmp参数变换colormap

annot、fmt、annot_kws设置格子中文本

mask设置部分数据显示

3、seaborn.clustermap绘制correlation clustermap

0、成品图展示

普通相关性heatmap

image

聚类相关性heatmap

image

1、数据准备

关键一步,使用pandas的corr函数生成相关矩阵。

from string import ascii_letters

import numpy as np

import pandas as pd

import seaborn as sns

import matplotlib.pyplot as plt

import palettable

# 生成随机数

rs = np.random.RandomState(33)#类似np.random.seed,即每次括号中的种子33不变,每次可获得相同的随机数

d = pd.DataFrame(data=rs.normal(size=(100, 26)),#normal生成高斯分布的概率密度随机数,需要在变量rs下使用

columns=list(ascii_letters[26:]))

# corr函数计算相关性矩阵(correlation matrix)

dcorr = d.corr(method='pearson')#默认为'pearson'检验,可选'kendall','spearman'

简单看下原始数据集,如下:可以简单理解为一个具有26个变量(A-Z),每个变量具有100个平行的矩阵。

image

经过corr函数变换后 ,变成26x26的方形矩阵。

image

2、seaborn.heatmap绘制correlation heatmap

默认参数绘制correlation heatmap

plt.figure(figsize=(11, 9),dpi=100)

sns.heatmap(data=dcorr,

)

image

vmax设置颜色深浅

plt.figure(figsize=(11, 9),dpi=100)

sns.heatmap(data=dcorr,

vmax=0.3, #上图颜色太深,不美观,让整体颜色变浅点

)

image

cmp参数变换colormap

关于colormap可参考:

plt.figure(figsize=(11, 9),dpi=100)

sns.heatmap(data=dcorr,

vmax=0.3,

cmap=palettable.cmocean.diverging.Curl_10.mpl_colors, #换个colormap

)

image

annot、fmt、annot_kws设置格子中文本

plt.figure(figsize=(11, 9),dpi=100)

sns.heatmap(data=dcorr,

vmax=0.3,

cmap=palettable.cmocean.diverging.Curl_10.mpl_colors,

annot=True,#图中数字文本显示

fmt=".2f",#格式化输出图中数字,即保留小数位数等

annot_kws={'size':8,'weight':'normal', 'color':'#253D24'},#数字属性设置,例如字号、磅值、颜色

)

image

mask设置部分数据显示

plt.figure(figsize=(11, 9),dpi=100)

sns.heatmap(data=dcorr,

vmax=0.3,

cmap=palettable.cmocean.diverging.Curl_10.mpl_colors,

annot=True,

fmt=".2f",

annot_kws={'size':8,'weight':'normal', 'color':'#253D24'},

mask=np.triu(np.ones_like(dcorr,dtype=np.bool))#显示对脚线下面部分图

)

image

square、linewidths、 cbar_kws设置方格外框、图例设置

plt.figure(figsize=(11, 9),dpi=100)

sns.heatmap(data=dcorr,

vmax=0.3,

cmap=palettable.cmocean.diverging.Curl_10.mpl_colors,

annot=True,

fmt=".2f",

annot_kws={'size':8,'weight':'normal', 'color':'#253D24'},

mask=np.triu(np.ones_like(dcorr,dtype=np.bool)),#显示对脚线下面部分图

square=True, linewidths=.5,#每个方格外框显示,外框宽度设置

cbar_kws={"shrink": .5}

)

image

3、seaborn.clustermap绘制correlation clustermap

plt.figure(figsize=(11, 9),dpi=100)

sns.clustermap(data=dcorr,

vmax=0.3,

cmap=palettable.cmocean.diverging.Curl_10.mpl_colors,

linewidths=.75,

)

image注意左上方分类条

row_c = dict(zip(list(ascii_letters[26:]), plt.get_cmap('RdPu')(np.linspace(0, 1, 26))))

index_c = dict(zip(list(ascii_letters[26:]), plt.get_cmap('RdPu')(np.linspace(0, 1, 26))))

sns.set(style="ticks")

plt.figure(figsize=(13, 13))

sns.clustermap(data=dcorr,

vmax=0.3,

cmap=palettable.cmocean.diverging.Curl_10.mpl_colors,

linewidths=.75,

row_colors=pd.Series(dcorr.columns.get_level_values(None), index=dcorr.columns).map(row_c), #行方向聚类用颜色区分不同类

col_colors=pd.Series(dcorr.columns.get_level_values(None), index=dcorr.columns).map(index_c),

dendrogram_ratio=0.15,# 图放大缩小

)

image

相关性热图(correlation heatmap& correlation clustermap)是heatmap和clustermap的变种,更多参数设置请戳:

python画相关性可视化图_Python可视化16matplotlibseborn-相关性热图(correlation heatmap)...相关推荐

  1. python绘制热图_python使用matplotlib绘制热图

    python常用的绘图库就是matplotlib,今天在给公司绘图时,偶然间发现matplotlib可以绘制热图,并且十分简洁,拿出来跟大家分享一下.(由于涉及到公司数据问题,这里采用随机数生成数据进 ...

  2. python画饼图加牵引线_python可视化---饼图添加图例

    原博文 2019-03-03 12:01 − import matplotlib.pyplot as plt import matplotlib as mpl mpl.rcParams["f ...

  3. python画有权重网络图_Python可视化之NetworkX绘制网络图\节点关系

    除了Gephi,python的NetworkX也是绘制网络图的利器,后者功能更强大,能兼容Gephi的一些绘制结果,但相应学习成本也更高点.另外似乎还有一个igraph-python库,后期可以学习一 ...

  4. python热图_Python可视化matplotlibseborn14-热图heatmap

    热力图(heatmap)可通过颜色深浅变化,优雅的展示数据的差异. 详细介绍python seaborn绘制热图 本文速览Matplotlib热图heatmapseaborn热图1seaborn热图2 ...

  5. python画相关性可视化图_Python可视化matplotlibseborn16-相关性热图

    本文速览普通相关性heatmap聚类相关性heatmap 本文将了解到什么? 1.数据准备 2.seaborn.heatmap绘制correlation heatmap 默认参数绘制correlati ...

  6. python 可视化饼图_Python可视化学习(饼状图,坐标系...)

    写在前面的话 01 今天资源君带大家学习一下Python的可视化,何谓可视化呢?我们常常听说Python的数据分析,数据分析中很重要的一个就是将数据展示出来,如何展示出来呢?这就得靠我们的Python ...

  7. 用python画动态三维轨迹_python 画3维轨迹图并进行比较的实例

    一. 数据的格式 首先我们需要x,y,z三个数据进行画图.从本实验用到的数据集KITTI 00.txt中举例: 1.000000e+00 9.043680e-12 2.326809e-11 5.551 ...

  8. 用python画渐变的圆_python画环形图的方法

    本文实例为大家分享了python画环形图的具体代码,供大家参考,具体内容如下 import os import pandas as pd import matplotlib.pyplot as plt ...

  9. 用python画动态三维轨迹_Python学习(一) —— matplotlib绘制三维轨迹图

    在研究SLAM时常常需要对其输出的位姿进行复现以检测算法效果,在ubuntu系统中使用Python可以很好的完成相关的工作. 一. Ubuntu下Python的使用 在Ubuntu下使用Python有 ...

最新文章

  1. 关于数据库中NULL的描述,下列哪些说法符合《阿里巴巴Java开发手册》
  2. 阿里云面向企业效率的云上产品全解析——云呼叫中心
  3. Linux Shell 命令--tr
  4. ASP.NET 4新增功能(三) 对Web标准的支持和辅助功能的增强
  5. 牛客题霸 单链表的选择排序 C++题解/答案
  6. 【语言处理与Python】10.1自然语言理解\10.2命题逻辑
  7. google地图 离线版 经纬度_一款钓鱼人专用的卫星地图,野钓找水库找钓点找进水口不是梦。...
  8. 如何在没有数组和string字符串的条件下输入时间(去时间的分号)
  9. linux下的打包和解压缩命令,浅析Linux打包压缩解压缩命令大全(收藏)
  10. 85相似标准形06——初等因子、初等因子与不变因子的求法
  11. scala连接mongodb_MongoDB 的用户配置与基于Scala的使用
  12. 从单向链表中删除指定值的节点
  13. 云计算基础(纯理论)
  14. Vue传递数组对象报property path is neither an array nor a List nor a Map
  15. #91;#12304;#26469;#20998;#26399;#23458;#26381;#30005;#35805;#12305;#93;
  16. Delphi使用CEF4Delphi制作Chromium谷歌内核浏览器
  17. 云服务器系统种类,云服务器系统种类
  18. 光纤网卡千兆和万兆、光口和电口之间的区别?与PC网卡、HBA卡的区别有哪些?
  19. java.util.Optional
  20. BackTrack5 学习笔记5 扫描 Nmap

热门文章

  1. python之求字典最值
  2. gulp教程之gulp-autoprefixer
  3. PowerDesigner-制作Word导出模版
  4. echo 1+2+3+4+5“输出的结果是6
  5. oracle中imp命令具体解释
  6. 读书笔记Black-Scholes-Merton之二
  7. java继承test 怎么写_Java Junit Test 要怎么写?
  8. 从零开始学前端:HTML的一些文本格式化标签、快捷键、和特殊符号 --- 今天你学习了吗?(CSS:Day02)
  9. 5 多数据save_5个高质量行业数据报告资源下载地方,自己想一下有多重要吧
  10. Python使用扩展库numpy计算矩阵加权平均值