Я нашел несколько примеров о том, как создать эти точные иерархии (по крайней мере, я так считаю), как показано ниже stackoverflow.com/questions/2982929/ , которые отлично работают и почти выполняют то, что я ищу.
и почти выполняю то, что я ищу.
и почти выполняю то, что я ищу.
[EDIT] Вот упрощенная версия кода Пола , которая теперь должна быть проще для кого-то, чтобы помочь превратить это в радиальный кластер вместо текущей формы кластера
import scipy
import pylab
import scipy.cluster.hierarchy as sch
def fix_verts(ax, orient=1):
for coll in ax.collections:
for pth in coll.get_paths():
vert = pth.vertices
vert[1:3,orient] = scipy.average(vert[1:3,orient])
# Generate random features and distance matrix.
x = scipy.rand(40)
D = scipy.zeros([40,40])
for i in range(40):
for j in range(40):
D[i,j] = abs(x[i] - x[j])
fig = pylab.figure(figsize=(8,8))
# Compute and plot the dendrogram.
ax2 = fig.add_axes([0.3,0.71,0.6,0.2])
Y = sch.linkage(D, method='single')
Z2 = sch.dendrogram(Y)
ax2.set_xticks([])
ax2.set_yticks([])
fix_verts(ax2,0)
fig.savefig('test.png')
Но вместо древовидная структура, мне нужен радиальный кластер, как на следующих диаграммах.