pythonによる大量のtxtデータのグラフ化[2]~グラフのプロット編~

はじめに

こんにちは、ぽたです。これは[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()

こいつで使うデータやら、色やらをいろいろ指定して、プロットをします。すると、

こんな感じのグラフが出てきました!あとはこれを見やすくするだけですね。

しかも作った後に気づいたんですけど、グラフの縦横の表示逆です。つらいです。これを見てもらえばわかるんですけど、あまり美しくないですよねグラフ。

きれいなグラフの作成がかなり難しいですね、、、、それについてはまた今度行っていきたいと思います。

スポンサーリンク

最後に

やはり、プログラミングは難しいですね。これから必要になってくるのでお勉強頑張ります。

それではまた、ぽたでした。

コメント

タイトルとURLをコピーしました