Перекрытие метки дендрограммы - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть двумерный массив данных отношений с метками (первая строка и столбец).

, когда я создал дендрограмму, мои метки перекрывались.Как я могу разделить этикетки равномерно?

enter image description here

file= open(fileName)
line = file.readline()
file.close()
populations=line.split('\t')
del populations[0]


data = np.loadtxt(fileName, delimiter="\t",skiprows=1,usecols=range(1,len(populations)+1 ))

fig, ax = plt.subplots()

Y1 = sch.linkage(data, method='ward',optimal_ordering=True)

Z1 = sch.dendrogram(Y1, orientation='top')

ind1= Z1['leaves']
arr = np.array(populations)
populations = arr[ind1]
ax.set_xticks([])
ax.set_xticks(np.arange(len(populations)))
ax.set_xticklabels(populations )
plt.xticks(rotation=90)

plt.show()

1 Ответ

0 голосов
/ 19 февраля 2019

Я думаю, что может быть проще указать метки при построении дендрограммы, так как они известны во время построения, что-то вроде следующего:

import scipy.cluster.hierarchy as sch
import numpy as np           # Only needed for random sample data

np.random.seed(1)            # Seeded for reproducing

populations = np.arange(10)  # Create some random sample data
data = abs(np.random.randn(10))

fig, ax = plt.subplots()

Y1 = sch.linkage(data, method='ward',optimal_ordering=True)
Z1 = sch.dendrogram(Y1, orientation='top', labels=populations)

plt.show()

даст вам

image

...