私は、matplotlibを使ってプロットしたいプレビニングされたデータを含む別のコードから一連のファイル出力を得ました。これらのファイルのいずれかから正しいx軸ラベル付きのプリビーン付きデータをプロットする
内容の簡単な例は次のようになります。
hist_file[0]
は、データのシミュレーションで対応するダンプ時間への参照である、
hist_file[-2]
は全体の下限である
hist_file=[ 0.00000000e+00, 1.52915100e+24, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 2.03886800e+24, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 5.09717100e+23, 0.00000000e+00,
1.00000000e+00]
データはhist_file[-1]
です。 (したがって、このデータセットでは、ダンプは0、データセットの下限は0、上限は1です)。 hist_file[1:-2]
は、私が視覚化しようとしているビニングされたデータです。 I(下記のコードのチャンクを参照)のデータをプロットすることができbar
を使用
:
import matplotlib.pyplot as plt
hist_data=hist_file[1:-2]
plt.bar(range(0,len(hist_data)), hist_data)
しかし、xticksは、データの実際のビン値(区間[0,1])に対応していません。これは、次の図
に示されている私は仕事だろうと思ったことは、次のようなものになるだろう:
import numpy as np
hist_interval=np.linspace(hist_file[-2], hist_file[-1],len(hist_data))
plt.bar(hist_interval, hist_data)
をしかし、これは明らかに適切ではない以下のようなバープロットを作成します。
さらに私はlen(hist_data)
ビンを持っていながら、ビンのエッジが、私は彼らの異なるサイズのために解決することが全くできなかったlen(hist_data)+1
だろうと認識しています。同様に私はplt.set_xaxisticks
を使って試してみましたが、どちらも進んでいません。
したがって、すべてのすべてで任意のヘルプは素晴らしいおかげで次のようになります。まさにあなたが問題を抱えているところD
こんにちは、答えてくれてありがとう(と、元の数字を整理役職)。 私はあなたの例を試してみましたが、それもうまくいきませんでしたが、新しいノートブックに入れた場合、初めてデータを使用したときと同じように動作しました。私は奇妙なことは何も起こっていないので、なぜ元のノートブックが問題を抱えていたのか分かりませんが、実際のソリューションに感謝します。 – Matthew
これがあなたの質問に答えるなら、[accepting](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)と考えてください。そうでない場合は、追加の問題について詳しくお聞かせください。 – ImportanceOfBeingErnest
こんにちは、申し訳ありませんが、別のデータセットを試してみると、これは[0,1]の間だけうまく動作するようです。たとえば、最後のビンの右端が100の場合、結果の図形は、左側に一連の重なり合う棒です。 – Matthew