用层次聚类做树状图,y轴应该是每个item的元素个数

问题描述

我一直在尝试使用数据框制作树状图,每个单元格都包含值。

       un1  un2   un3  un4  un5 ... 
  mut1 0.5  0.24  0  0  0.4
  mut2 0.1  0.22  0.4  0  0
  mut3 0.3  0  0  0  0
  mut4 0  0  0  0.23  0.66
  ....

从这个链接,我可以制作一个树状图,但我想做一些修改

python How to make a dendrogram from a dataframe

我的代码在下面,树状图看起来像这样

import numpy as np
from pandas import *
import matplotlib.pyplot as plt
from scipy.cluster.hierarchy import linkage,dendrogram
from scipy.spatial.distance import pdist

df = pandas.read_table('/content/drive/MyDrive/BI/dfs_2/DB15_final_shared_list.vaf.csv',index_col = 0,sep=",",header=0)

print(df)

X = df.T.values #Transpose values 
Y = pdist(X)
Z = linkage(Y)

dendrogram(Z,labels = df.columns)

enter image description here

我想修改 Y 轴。

目前,我假设 Y 轴代表距离,但我想让它代表

每个项目中的元素数量

这意味着“一行 'unX' 中有多少不为零的元素”。

假设'un1'列的长度为15,'un1'行中不为零的元素个数为9个。

那么从树状图的顶部到'un1'的树的末端的长度是九。

并且分叉的长度是聚类项目之间共享元素的数量

抱歉英语不好。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...