我试图研究这个问题,但失败了。我是python的初学者,所以请耐心等待。
我有一个文本文件,每行都包含数字(它们是以度为单位的角度)。我想首先将角度聚类为 20 的聚类大小。然后我想将其绘制在直方图上。我有以下代码:
angle = open(output_dir+'/chi_angle.txt', 'r').read().splitlines()
array = numpy.array(map(float, angle))
hello = list(array)
from cluster import *
cl = HierarchicalClustering(hello, lambda x,y: abs(x-y))
clusters = cl.getlevel(20)
frequency = [len(x) for x in clusters]
average = [1.0*sum(x)/len(x) for x in clusters]
现在。我的问题是:如何绘制直方图?
执行以下操作:
pylab.hist(average, bins=50)
pylab.xlabel('Chi 1 Angle [degrees]')
pylab.ylabel('#')
pylab.show()
将显示带有正确放置条形的直方图(即每个簇的平均值),但它不会显示每个簇包含多少“角度”。
只是为了澄清。聚类数据如下所示:
clusters = [[-60.26, -30.26, -45.24], [163.24, 173.24], [133.2, 123.23, 121.23]]
我想要每个集群的平均值,以及每个集群中的角度数。因此,在直方图上,第一个条形图将位于 -50 左右,高度为 3。我如何绘制这个?
非常感谢!