5

Python でヒストグラム プロットを作成しようとしており、y 軸の値をいくつかのカスタム値で正規化しています。このために、私は次のようにすることを考えていました:

import numpy as np
import matplotlib.pyplot as plt

data = np.loadtxt('foo.bar')
fig = plt.figure()
ax = fig.add_subplot(111)

hist=np.histogram(data, bins=(1.0, 1.5 ,2.0,2.5,3.0))
x=[hist[0]*5,hist[1]]
ax.plot(x[0], x[1], 'o')

もちろん、最後の行は次のようになります。

ValueError: x and y must have same first dimension

np.hist が x[0] 配列と x[1] 配列に同じ数の要素を与えるように強制する方法はありますか?たとえば、そのうちの 1 つの最初または最後の要素を削除しますか?

4

2 に答える 2

6

hist[1] には、ヒストグラムを作成した範囲が含まれています。おそらく、次のようなこれらの間隔の中心を取得したいと思います。

x = [hist[0], 0.5*(hist[1][1:]+hist[1][:-1])]

そして、プロットは大丈夫ですよね?

于 2013-07-31T09:19:56.090 に答える
0

データソースに依存すると思います。

データを numpy 配列としてロードし、ヒストグラム関数に渡す前に自分で要素の範囲を選択してみてください。

例えば

dataForHistogram = data[0:100][0:100]   # Assuming your data is in this kind of structure.
于 2013-07-31T09:17:27.483 に答える