Python
matplotlib
可視化
科学技術計算

[Pythonによる科学・技術計算] ファイルから読み込まれた2次元データのプロット,可視化,matplotlib

matplotlibを用いて基本的な2次元グラフを作成する。

状況:
● testing_plot.datという名前のファイルにXYデータが格納されている
● そのファイルからデータを読み込みプロットしたい
● 場合によっては軸に名前をつける等整形したい

"""
ファイルからデータを読み込み,それをプロットする
"""
import matplotlib.pyplot as plt  # maplotlibのpyplotをpltという名前でimportする 


x_list=[] # x_listを定義 (空のリストを作成)
y_list=[] # y_listを定義 

f=open('testing_plot.dat','rt') # プロットしたいデータが入っているファイルをr(読み込み) t(テキスト)モードで読み込む

##  データを読み込み,x_listとy_listに値を格納する
for line in f:
    data = line[:-1].split(' ')
    x_list.append(float(data[0]))
    y_list.append(float(data[1]))
##

### 描画する
plt.plot(x_list, y_list) #プロットするためのデータ指定: ここではx軸にx_list,y軸にy_listを指定。折れ線グラフ
plt.plot(x_list, y_list,color='RED',linewidth=4.0) #赤色で出力.線の太さを4.0pt
#plt.plot(x_list, y_list,marker='o') #線と点を作る
#plt.plot(x_list, y_list,'o') #点を作る

plt.xlabel('X ') # x軸のラベル
plt.ylabel('Y') # y軸のラベル
#plt.legend(loc='best') # legend

# その他,描画用オプション
plt.xticks(fontsize=7) 
plt.yticks(fontsize=7) 
plt.grid(True) #グラフの枠を作成

#plt.xlim(xmin, xmax) # 描くxの範囲を[xmin,xmax]にする
#plt.ylim(ymin, x¥ymax) # 描くyの範囲を[ymin,ymax]にする
#plt.hlines([y1,y2], xmin, xmax, linestyles="dashed")  # y=y1とy2に破線を描く



plt.show()    # 描画結果を出力する。必ず書く。

結果

スクリーンショット 2017-07-18 16.23.51.png


補遺: plot()のオプション引数と短縮形(以下,カッコ内の文字列が相当)

alpha : 小数で透明度を指定する
color (c): 文字列で色を指定。red(r), blue(b)など。
linestyle (ls): 線のスタイルの指定。'-', '--', ':'など。
linewidth (lw): 線の太さの指定
marker: マーカーの種類の指定。'+', ',', '.', '1', '2', など。
markerfacecolor (mfc): マーカー内部の色の文字列による指定。
markersize (ms) マーカーサイズの指定。markeredgewidth(mew)で境界の太さを指定可能。
antialiased (aa) アンチエイリアス処理の指定 (aa=Trueまたはaa=False とする)


[補] 例題で使ったXYデータセット: testing_plot.datという名前で保存する。

0.0 164.26
27.9 147.83
35.7 144.55
44.4 141.26
54.2 137.98
65.1 134.69
77.3 131.41
90.9 128.12
106.2 124.84
123.2 121.55
142.3 118.27
163.6 114.98
187.5 111.70
214.4 108.41
244.6 105.13
278.6 101.84
317.1 98.56
360.6 95.27
410.0 91.99
466.2 88.70
530.4 85.42
604.0 82.13
688.8 78.84
786.8 75.56
900.7 72.27
1033.8 68.99
1190.4 65.70