web-dev-qa-db-ja.com

python)でログログヒストグラムを作成する方法

値の配列が与えられた場合、これらの値の両対数ヒストグラムをカウントでプロットしたいと思います。私はx値をログに記録する方法しか知りませんが、y値はプログラムで明示的に作成されていないため、ログに記録しません。

19
user984923

ピプロットをチェックしてください ドキュメント

  • pyplot.histは、キーワード引数log = Trueを使用してy軸を「ログに記録」できます。
  • pyplot.histはbinsキーワード引数を受け入れますが、x軸を自分で「ログ」する必要があります

例えば:

#!/usr/bin/python
import numpy
from matplotlib import pyplot as plt

data = numpy.random.gumbel(2 ** 20, 2 ** 19, (1000, ))

bins = range(15, 25)
plt.xticks(bins, ["2^%s" % i for i in bins])
plt.hist(numpy.log2(data), log=True, bins=bins)
plt.show()

これにより、対数軸にプロットされた、各ビンに分類される要素の実際の数がわかります(これは通常、対数プロットが意味するものです)。これが必要なのか、直線軸にプロットされたカウントの対数が必要なのか、あなたの言葉遣いからはわかりませんでした。

ところで、ビンは等間隔である必要はありません。

23
user670416