生データ(.txt)を含む入力ファイルからMatplotlibでヒストグラムを作成したいと思います。入力ファイルを参照する際に問題が発生しています。かなり小さなプログラムだと思います。Matplotlibの達人、助けはありますか?
私はコードを求めていません、いくつかの入力は私を正しい方向に導くはずです!
生データ(.txt)を含む入力ファイルからMatplotlibでヒストグラムを作成したいと思います。入力ファイルを参照する際に問題が発生しています。かなり小さなプログラムだと思います。Matplotlibの達人、助けはありますか?
私はコードを求めていません、いくつかの入力は私を正しい方向に導くはずです!
実際にNumPyライブラリにある' loadtxt 'を使用することをお勧めします。Matplotlib(csv2rec)には関連する関数がありますが、Matplotlibは実際にはloadtxtで標準化されています。
仕組みは次のとおりです。
from matplotlib import pyplot as PLT
with open('name_of_your_file.csv') as f:
v = NP.loadtxt(f, delimiter=",", dtype='float', comments="#", skiprows=1, usecols=None)
'loadtxt'から返されるオブジェクトである'v'は、nxmNumPy配列です。
'loadtxt'は、ファイルまたはファイル記述子のいずれかを受け入れます。上記のインスタンスには、ほとんどのメソッドシグネチャがあります。'skiprows'は、スキップする行の数を上から数えて指定する整数です。ヘッダー行をスキップするには、「1」に設定するのが一般的です。'usecols'は'0'で始まり、含める列を列挙するリストです('None'がデフォルトで、'include all'を意味します)。他のパラメーターは期待どおりに機能します。
このデータからヒストグラムをプロットするには:
from matplotlib import pyplot as PLT
v_hist = NP.ravel(v) # 'flatten' v
fig = PLT.figure()
ax1 = fig.add_subplot(111)
n, bins, patches = ax1.hist(v_hist, bins=50, normed=1, facecolor='green')
PLT.show()
入力ファイルからヒストグラムを作成するようにmatplotlibに直接指示することはできません。ファイルを自分で開いて、そこからデータを取得する必要があります。それをどのように行うかは、ファイルの形式によって異なります。各行に数字が付いたファイルの場合は、各行、strip()
スペース、改行を調べて、float()
それを使用して数字に変換できます。