目標
数値データをグラフにすることはよくあるかと思いますが、Pythonを用いて折れ線グラフを描く記述の仕方を習得します。
1つのグラフを作成
折れ線グラフを作成するのには「matplotlibの中のplt」を使います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
import numpy as np import matplotlib.pyplot as plt #配列要素として読み込む array=np.genfromtxt('./03_data/気体の比熱表.csv',delimiter=',',dtype=float,skip_header=2) array_t=np.transpose(array) #リスト型に変換 temp=list(array_t[0]) cp=list(array_t[1]) #グラフの作成 plt.plot(temp,cp) ##フォントサイズの指定 plt.xticks(fontsize=7) plt.yticks(fontsize=7) ##グリッドの有無 plt.grid(True) ##x軸とy軸のラベル plt.xlabel("temerature") plt.ylabel("Cp[J/kg K]") ##グラフを描く plt.show() |
実行結果
プログラムの中身は、
- 「array=np.genfromtxt(‘./03_data/気体の比熱表.csv’,delimiter=’,’,dtype=float,skip_header=2)」でデータのcsvファイルを読み込んでいます。
- 「array_t=np.transpose(array)と書き、1で読み込んだリストの転置行列を作ることで、列を読み込めるようにします。
- 「temp=list(array_t[0])」とすることで要素をリスト型に変換します。
- 「plt.plot」以降でグラフを書く記述を書いています。
2つのグラフを重ねて作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
%matplotlib inline import numpy as np import matplotlib.pyplot as plt #配列要素として読み込む array=np.genfromtxt('./03_data/気体の比熱表.csv',delimiter=',',dtype=float,skip_header=2) array_t=np.transpose(array) #リスト型に変換 temp=list(array_t[0]) cp=list(array_t[1]) cv=list(array_t[2]) plt.plot(temp,cp,color="Blue",label="Cp") plt.plot(temp,cv,color="Red",label="Cv") plt.xticks(fontsize=10) plt.yticks(fontsize=10) plt.legend(loc="upper left") plt.grid(True) plt.xlabel("temerature") plt.ylabel("J/kg K") plt.show() |
実行結果
2軸のグラフ作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
%matplotlib inline import numpy as np import matplotlib.pyplot as plt #配列要素として読み込む array=np.genfromtxt('./03_data/気体の比熱表.csv',delimiter=',',dtype=float,skip_header=2) array_t=np.transpose(array) #リスト型に変換 temp=list(array_t[0]) cp=list(array_t[1]) cv=list(array_t[2]) gamma=list(array_t[3]) fig,ax1=plt.subplots() ax2=ax1.twinx() ax1.plot(temp,cp,color="Blue",label="Cp") ax1.plot(temp,cv,color="Red",label="Cv") ax2.plot(temp,gamma,color="black",label="gamma") plt.xticks(fontsize=10) plt.yticks(fontsize=10) ax1.legend(loc="right") ax2.legend(loc="upper right") plt.grid(True) ax1.set_xlabel("temerature") ax1.set_ylabel("J/kg K") ax2.set_ylabel("gamma") plt.show() |
実行結果
- 「fig,ax1=plt.subplots()」で サブプロットに分割します。
- 「ax2=ax1.twinx()」で2軸目を追加します。
- 「ax1.plot.*****」で1軸目のグラフ作成、「ax2.plot.*****」で2軸目のグラフ作成を行っています。
I used to be able to find good info from your articles.
Also visit my web page :: เครดิตฟรี 30