热力图

热力图(heat map)

  • 一种将规则化矩阵数据转换成颜色色调的常用的可视化方法;

  • 每个单元对应数据的某些属性;

  • 属性的值通过颜色映射转换为不同色调并填充规则单元;

  • 表格坐标的排列和顺序都可以通过参数控制;

  • 适合的坐标排列和顺序可以很好地发现数据的不同性质;

绘制热力图

  • seaborn包的heatmap()函数、

  • plotnine包的geom_tile()函数、

  • matplotlib包的imshow()函数都可以绘制热力图;

  • seaborn包的clustermap()函数可以绘制带层次聚类的热力图;

  • 层次聚类的结果数据一般使用树形图;

树形图(dendrogram)

  • 表示连续合并的每对磊之间的属性距离的示意图;

  • 示意图将以图形的方式进行排布;

  • 使得要合并的每对类的成员在示意图中相邻;

  • 树形图工具采用层次聚类算法;

  • 先计算输入的特征文件中每对类之间的距离;

  • 再迭代式地合并最近的一对类;

  • 完成后续合并下一对最近的类;

  • 直到合并完所有的类;

  • 在每次合并后,每对类之间的距离会进行更新;

  • 合并类特征时采用的距离将用于构建树形图;

树形图分类:

  • 纵向树形图;

  • 横向树形图;

  • 环形树形图;

  • 进化树形图;

绘制横向树形图

  • SciPy包的dendrogram()函数可以根据数据绘制树形图;

  • 其中当orientation='top'时,绘制纵向树形图;

  • 参数orientation='left'时,绘制横向树形图;

热力图

import matplotlib.pyplot as plt

import pandas as pd

import seaborn as sns

from plotnine.data import mtcars

from sklearn.preprocessing import scale

sns.set_style("white")

sns.set_context("notebook", font_scale=1.5,

rc={'axes.labelsize': 17, 'legend.fontsize':17,

'xtick.labelsize': 15,'ytick.labelsize': 10})

df=mtcars.set_index('name')

df.loc[:,:] = scale(df.values )

#热力图

fig=plt.figure(figsize=(7, 7),dpi=80)

sns.heatmap(df, center=0, cmap="RdYlBu_r",

linewidths=.15,linecolor='k')

#sns.set()

plt.savefig('heatmap2.pdf')

带层次聚类的热力图

import matplotlib.pyplot as plt

import pandas as pd

import seaborn as sns

from plotnine.data import mtcars

from sklearn.preprocessing import scale

sns.set_style("white")

sns.set_context("notebook", font_scale=1.5,

rc={'axes.labelsize': 17, 'legend.fontsize':17,

'xtick.labelsize': 15,'ytick.labelsize': 10})

df=mtcars.set_index('name')

df.loc[:,:] = scale(df.values )

#带层次聚类的热力图.

sns.clustermap(df, center=0, cmap="RdYlBu_r",

linewidths=.15,linecolor='k', figsize=(8, 8))

plt.savefig('heatmap1.pdf')

横向树形图

import scipy.cluster.hierarchy as shc

import numpy as np

from matplotlib import cm,colors

from matplotlib import pyplot as plt

import pandas as pd

from plotnine.data import mtcars

from sklearn.preprocessing import scale

plt.rcParams['axes.facecolor']='w'

plt.rc('axes',axisbelow=True)

df=mtcars.set_index('name')

df.loc[:,:] = scale(df.values )

#横向树形图

fig=plt.figure(figsize=(10, 10), dpi= 80)

dend = shc.dendrogram(shc.linkage(df,method='ward'), orientation='left',

labels=df.index.values, color_threshold=5

)

plt.xticks(fontsize=13,rotation=0)

plt.yticks(fontsize=14)

ax = plt.gca()

ax.spines['left'].set_color('none')

ax.spines['right'].set_color('none')

ax.spines['top'].set_color('k')

ax.spines['bottom'].set_color('k')

#plt.savefig('树状图1.pdf')

plt.show()

纵向树形图

import scipy.cluster.hierarchy as shc

import numpy as np

from matplotlib import cm,colors

from matplotlib import pyplot as plt

import pandas as pd

from plotnine.data import mtcars

from sklearn.preprocessing import scale

plt.rcParams['axes.facecolor']='w'

plt.rc('axes',axisbelow=True)

df=mtcars.set_index('name')

df.loc[:,:] = scale(df.values )

#纵向树形图

fig=plt.figure(figsize=(5, 5), dpi= 80)

dend = shc.dendrogram(shc.linkage(df.values.T,method='ward'), orientation='top',

labels=df.columns.values, color_threshold=5,

)

plt.xticks(fontsize=13,rotation=0)

plt.yticks(fontsize=14)

ax = plt.gca()

ax.spines['left'].set_color('k')

ax.spines['right'].set_color('k')

ax.spines['top'].set_color('none')

ax.spines['bottom'].set_color('none')

#plt.savefig('树状图2.pdf')

plt.show()

python 热力图_python高维数据型图表热力图、树形图相关推荐

  1. python 一组数据 正态分布散点图_python高维数据型图表矩阵散点图

    矩阵散点图 矩阵散点图(matrix scatter plot) 是散点图的高维扩展,是一种常用的高维度数可视化技术: 将高维度数据的每个变量组成一个散点图: 再将它们按照一定的顺序组成矩阵散点图: ...

  2. python读excel表格数据绘制图表_Python读取Excel数据生成图表 v2.0

    原博文 2020-06-15 15:09 − ## Python读取Excel数据生成图表 v2.0 ## 一.需求背景 自己一直在做一个周基金定投模拟,每周需要添加一行数据,并生成图表.以前一直是用 ...

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

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

  4. python 图形_Python图形数据

    CSGraph代表 压缩稀疏图 ,它着重于基于稀疏矩阵表示的快速图算法. 图表表示 首先,让我们了解一个稀疏图是什么以及它在图表示中的作用. 什么是稀疏图? 图形只是节点的集合,它们之间有链接.图表几 ...

  5. python写入excel表格数据绘制图表_(原创)xlsxwriter,python excel 写入数据\图表等操作_图表操作(二)...

    前面分享了使用xlsxwriter创建excel和写入数据GUC:(原创)xlsxwriter,python excel 写入数据\图表等操作_创建.写入(一)​zhuanlan.zhihu.com ...

  6. python写入excel表格数据绘制图表,Python对数据写入Execl文件并生成图表

    Python对数据写入Execl文件并生成图表 需求: 为了做测试或者对爬虫程序爬取数据进行分析汇总,我们时常会将数据生成报表,但是如果我们想将报表生成在Excel中,这时候就可以借助xlsxwrit ...

  7. python重复_python常用数据重复项处理方法

    在数据的处理过程中,一般都需要进行数据清洗工作,如数据集是否存在重复,是否存在缺失,数据是否具有完整性和一致性,数据中是否存在异常值等.发现诸如此类的问题都需要针对性地处理,下面我们一起学习常用的数据 ...

  8. 使用python 处理表格生成图表_教你用Python自动读取数据生成图表,产生的效益很可观...

    厌烦了每次都要在Excel里拖动数据来生成图形吧,这篇文章里,教你用Python自动读取Excel数据生成图表,然后Python 使用XlsxWriter模块在Excel工作表中绘制带有数据表的柱形图 ...

  9. python批量生成图表_教你用Python自动读取数据生成图表,产生的效益很可观

    厌烦了每次都要在Excel里拖动数据来生成图形吧,这篇文章里,教你用Python自动读取Excel数据生成图表,然后Python 使用XlsxWriter模块在Excel工作表中绘制带有数据表的柱形图 ...

最新文章

  1. coredata Lightweight Migration 心得
  2. 论电子计算机在审计中的应用,计算机技术在审计中的应用领域分析.doc
  3. cached过高导致内存溢出 java head space
  4. js数组的sort排序详解
  5. Java算法之 选择排序
  6. mysql5.7 部署文档-rpm
  7. 展示使用 boost bind 和 phoenix 处理删除的不同方法的测试程序
  8. 面试题 16.18. Pattern Matching LCCI
  9. 【线上分享】超分辨技术在RTC领域面临的机遇与挑战
  10. The setting logImpl is not known
  11. 2014第3周六升级win8.1
  12. Winform 按钮权限拦截AOP
  13. 【CFD学习】网格无关性验证
  14. TiDB v5.3.0->v5.4.2->v6.1.0升级、TiDB/PD/TiKV/TiFlash扩缩容、TiSpark部署指北
  15. 计算机网络雨课堂练习11
  16. 暴雪战网怎么修改服务器,战网更改地区的图文教程
  17. 前端之从头开始学《红宝石》
  18. PS小技巧之完美抠图
  19. CEO卡莉被驱逐,惠普何去何从?
  20. 小学数学题的python实现

热门文章

  1. 惊喜!想要高清背景壁纸图片素材,看这里
  2. 炫彩色块海报设计背景PSD素材,跟上设计趋势
  3. ipython和python是不是同一个软件_为什么SciPy在IPython和Python中的行为有很大不同?...
  4. 学习计划(11.5)
  5. 推荐一个看ELF文件的软件 010Editor
  6. Linux内核深入理解中断和异常(1)
  7. 七月文章导读【TCP/IP相关】:解密 TCP/IP;什么是公网ip?什么是内网ip?为什么ip地址通常以192.168开头?
  8. linux mtk unique id,1.2.16.1. Nand Flash的Unique ID
  9. Python BeautifulSoup和Requests爬虫爬取中关村手机资料
  10. android文本与布局