この問題を調査しようとしましたが、失敗しました。私は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 になります。これをプロットするにはどうすればよいですか?
どうもありがとう!