Python中的树状图指南

516 阅读1分钟

树状图是一种描述树的图示。create_dendrogram 图工厂对数据进行分层聚类,并描绘出结果的树。聚类之间的距离由树深轴上的数值表示。

树状图在计算生物学中经常被用来描述基因或样本分组,偶尔也会在热图的空白处使用。

层次聚类会产生树状图作为输出。许多人声称,这种类型的树状图可以用来确定聚类的数量。然而,这只有在超对称树不等式成立的情况下才是真的,而在实践中很少有这种情况。


在Python中绘制基本树状图

import plotly.figure_factory as ff
import numpy as np
np.random.seed(1)
X = np.random.rand(15, 12) 
fig = ff.create_dendrogram(X)
fig.update_layout(width=800, height=500)
fig.show()

Basic Dendrogram

基本树状图


应用继承分类法和绘制树状图

我们将利用以下方法来实现分层聚类并绘制树状图。

  1. 层次模块提供了分层和聚类的程序。
  2. scipy.cluster.hierarchy.linkage方法被用来进行分层聚类。
  3. 为了将分层聚类绘制成树状图,可以使用scipy.cluster.hierarchy.dendrogram函数。
import numpy as np
from scipy.cluster import hierarchy
import matplotlib.pyplot as plt
x = np.array([100., 200., 300., 400., 500., 250.,450., 280., 450., 750.])
temp = hierarchy.linkage(x, 'single')
plt.figure()
dn = hierarchy.dendrogram(temp, above_threshold_color="green", color_threshold=.7)

Dendogram HeiCluster Plot

树状图HeiCluster Plot


改变树状图的方向

dn = hierarchy.dendrogram(temp, above_threshold_color="green", color_threshold=.7,orientation='right')

Dendogram HeiCluster Plot Right Orientation

DendrogramsHeiCluster Plot 右侧方向


结语

祝贺你!你刚刚学会了如何在Python中绘制树状图。希望你喜欢它!😇

谢谢您抽出时间!希望你能学到新的东西!!😄