0

そこで、主にデータからヒストグラムをプロットする、必​​要なことを行うプログラムを作成しましたが、いくつかの問題があります。

プログラムは次のとおりです。

# -*- coding: cp1250 -*-
from __future__ import division
from numpy import *
from matplotlib import rc
from matplotlib.pyplot import *
import numpy as np
import matplotlib.pyplot as plt


data = loadtxt("mioni.txt", int)

nuz = len(data)
nsmp = 20
duz = int(nuz/nsmp)

L = []

for i1 in range(0,nsmp):
    suma = 0
    for i2 in range(0,duz):
        suma += data[i1*duz+i2]
    L.append(suma)

print L


plt.hist(L, 20, normed=1, facecolor='blue', alpha=0.75)
plt.xlabel('t(\mu s)')
plt.ylabel('Broj događaja')
plt.axis([0,10,0,300])
plt.grid(True)

plt.show()

編集:だから私は醜い合計に対処することができましたが、今では私のヒストグラムは機能しません:(データはここにあります:http://dropcanvas.com/kqjem

どうしたの?大量のエラーが発生し、Python がクラッシュします:\

4

2 に答える 2

2

問題は個別のデータセットがあることに起因しbinsます。パラメータを適合しないものに設定したようです。pylab.histパラメータを使用してhisttype="stepfilled"、線なしで接触させます。次にいくつかの例を示します。

import numpy as np
import pylab as plt

# Sample data
X1 = np.random.exponential(1.0,size=5000)
X2 = [int(z) for z in X1]

plt.subplot(221)
plt.hist(X1,bins=50)
plt.title('Continuous Data')

plt.subplot(222)
plt.hist(X2,bins=50)
plt.title('Discrete Data')

plt.subplot(223)
plt.hist(X2,histtype='stepfilled')
plt.title('Discrete Data Filled')

plt.show()

ここに画像の説明を入力してください

于 2013-02-28T14:55:16.300 に答える
1

使用numpy.histogram: http://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html

またはmatplotlib.pyplot.hist: http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.hist

例えば:

plt.hist(data, bins=20)
于 2013-02-28T14:24:26.457 に答える