小编Alb*_*bin的帖子

如何使用plotly绘制截断的树状图?

我想使用plotly 绘制层次聚类的树状图,并显示该图的一小部分子集,因为对于大量样本,该图在底部可能非常密集。

我使用绘图包装函数 create_dendrogram 和以下代码绘制了该图:

from scipy.cluster.hierarchy import linkage
import plotly.figure_factory as ff
fig = ff.create_dendrogram(test_df, linkagefun=lambda x: linkage(test_df, 'average', metric='euclidean'))
fig.update_layout(autosize=True, hovermode='closest')
fig.update_xaxes(mirror=False, showgrid=True, showline=False, showticklabels=False)
fig.update_yaxes(mirror=False, showgrid=True, showline=True)
fig.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

下面是使用 matplotlib 绘制的图,scipy 库默认使用该图,为了便于解释,该图被截断为 4 个级别:

from scipy.cluster.hierarchy import dendrogram,linkage
x = linkage(test_df,method='average')
dendrogram(x,truncate_mode='level',p=4)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

正如您所看到的,截断对于解释大量样本非常有用,我如何在绘图中实现这一点?

python hierarchical-clustering dendrogram plotly

4
推荐指数
1
解决办法
1649
查看次数