こんにちは、ぽたです。これは[1]の続きになります。[1]を読んでいない方はそちらからお願いします
※プログラムは未完成で続きをいつ書くかはわかりません。pythonの勉強が進み次第です。 気長にお待ちいただけると幸いです。
今回やること
今回は、[1]の続き、
①大量のtxtデータの読み込み
②読み込んだデータの分別
③分別したデータを選択してグラフ化←ここから
④発表に利用できるようなきれいなグラフの作成
⑤グラフのpng化もしくはJPEG化
の③から進めていきます。
データを選択してグラフ化
前回、txtデータを読み込んで分類することができるようになりました。そのデータを選択してグラフ化していこうと思います。
グラフ化をするために必要なのが、matplotlibです。これはその名前の通りグラフを作成してくれるものです。
import glob
path="C:\\Users\\user_99\\OneDrive\\デスクトップ\\SPX001"
allfiles = glob.glob(path+"\\??K Asym-B.txt")
for item in allfiles:
Field,Jc,Ic,n,Asym,std,time,T = np.loadtxt(item,skiprows=1, unpack=True)
現在はこのようなプログラムになっています。Fieldとかに縦の値を代入している感じですね。とりあえず、matplotlibをimportして、グラフを作るプログラムを作ってみると、
fig = plt.figure(figsize=(6, 6))
ax = fig.add_subplot(111)
ax.set_xlabel("Asymmax")
ax.set_ylabel("B[T]")
ax.plot(Field,Asym, "o-", color="k", label="Asym-T")
このような感じになりました。
一番上から説明していきますと、
fig = plt.figure(figsize=(6, 6))
6×6の基盤を作っている。
ax = fig.add_subplot(111)
グラフの1番目に入れる。→作った基盤の上に何個もグラフを作ることができる。それの中の一番目に入れるイメージ。(今回は1つしか作らないので、いらないかも?)
ax.set_xlabel("Asymmax")
ax.set_ylabel("B[T]")
データのラベルを入力しています。今回は非対称性と磁場を比較したいのでこのラベルにしています(わかるわけないやんけって心の声が聞こえます。)
それを最後にプロットする部分を作ります。
ax.plot(data01_Field, data01_Asym, "o-", label="Asym-T")
plt.show()
こいつで使うデータやら、色やらをいろいろ指定して、プロットをします。すると、
こんな感じのグラフが出てきました!あとはこれを見やすくするだけですね。
しかも作った後に気づいたんですけど、グラフの縦横の表示逆です。つらいです。これを見てもらえばわかるんですけど、あまり美しくないですよねグラフ。
きれいなグラフの作成がかなり難しいですね、、、、それについてはまた今度行っていきたいと思います。
最後に
やはり、プログラミングは難しいですね。これから必要になってくるのでお勉強頑張ります。
それではまた、ぽたでした。
コメント