User Tools

Site Tools


python:matplotlib:基本的な使い方

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
python:matplotlib:基本的な使い方 [2018/01/20 22:12]
koudai
python:matplotlib:基本的な使い方 [2018/01/22 20:13]
koudai [ラベルの作成]
Line 8: Line 8:
 三角関数を例に、関数のプロット方法と簡単な調節の仕方を紹介します。 三角関数を例に、関数のプロット方法と簡単な調節の仕方を紹介します。
  
-===== sin関数のプロット =====+===== 初めてのプロット =====
  
-matplotlibをインポートするこで、グラフの作成行えるよになります+りあえずsin関数書いてみましょう。
 次のスクリプトを作成します。 次のスクリプトを作成します。
  
Line 17: Line 17:
 import matplotlib.pyplot as plt import matplotlib.pyplot as plt
  
-x = np.arange(-np.pinp.pi, 0.1)  # xを-πからπまで0.1刻みで用意する +x = np.arange(-55, 0.1)   # xを-5から5まで0.1刻みで用意する 
-y = np.sin(x)                      # y = sin x+y = np.sin(x)               # y = sin x
  
 plt.plot(x, y)   # 横軸をxとして y=y(x) のグラフをプロットする plt.plot(x, y)   # 横軸をxとして y=y(x) のグラフをプロットする
Line 29: Line 29:
 {{:python:matplotlib:intro1.png?direct&400|}} {{:python:matplotlib:intro1.png?direct&400|}}
  
-保存するにはグラフが表示されたウィンドウの上の方にあるフロッピーディスクのマークをクリックします(Ctrlキーを押しながらsを押すのでも可)。+保存するにはグラフが表示されたウィンドウの上の方にあるフロッピーディスクのマークをクリックします([Ctrl-s]も可)。
  
-るいはplt.savefig使とファイル直接出力できます。+ 
 +===== グラフの表示範囲の指定 ===== 
 + 
 +プロットしたグラフを画面に表示す際、そのままだとすべてのデータが枠内に収まるように表示されます。 
 +表示した範囲制限したい場合は次のようにます。
  
 <file python sin.py> <file python sin.py>
Line 37: Line 41:
 import matplotlib.pyplot as plt import matplotlib.pyplot as plt
  
-x = np.arange(-np.pi, np.pi, 0.1)+x = np.arange(-5, 5, 0.1)  
 +y1 = np.sin(x) 
 +y2 = np.cos(x) 
 + 
 +plt.xlim(-np.pi, np.pi)   # x軸は-πからπまで 
 +plt.ylim(-1.2,   1.2)     # y軸は-1.2から1.2まで 
 + 
 +plt.show() 
 +</file> 
 + 
 +{{:python:matplotlib:intro2.png?direct&400|}} 
 + 
 + 
 + 
 + 
 +===== ラベルの作成 ===== 
 + 
 +このままだと縦軸と横軸がなんなのかわからないので、軸にラベルをつけます。 
 +ついでにタイトルもつけます。 
 + 
 +<file python> 
 +import numpy as np 
 +import matplotlib.pyplot as plt 
 + 
 +x = np.arange(-5, 5, 0.1)
 y = np.sin(x) y = np.sin(x)
 +
 +plt.title("graph"  # グラフのタイトル
 +plt.xlabel("x"     # x軸(横軸)のラベル
 +plt.ylabel("y"     # y軸(縦軸)のラベル
  
 plt.plot(x, y) plt.plot(x, y)
-plt.savefig("sin.png")   # プロットしたグラフを画面に表示する+ 
 +plt.xlim(-np.pi, np.pi) 
 +plt.ylim(-1.2,   1.2) 
 + 
 +plt.show()
 </file> </file>
  
-保存できる形式は +{{:python:matplotlib:intro3.png?direct&400|}}
-  * emf +
-  * eps +
-  * jpeg +
-  * jpg +
-  * pdf +
-  * png +
-  * ps +
-  * raw +
-  * rgba +
-  * svg +
-  * svgz +
-  * tif +
-  * tiff +
-です。 +
-拡張子により自動判別されます。+
  
  
 +===== 複数のグラフ =====
 +
 +複数のグラフを同時にプロットしたい場合を扱います。
 +例えばsin関数とcos関数を同時にプロットしたい場合は、次のようにします。
 +どっちのグラフがどっちの関数かわからなくなるので凡例(legend)をつけます。
 +
 +<file python>
 +import numpy as np
 +import matplotlib.pyplot as plt
 +
 +x = np.arange(-5, 5, 0.1)
 +y1 = np.sin(x)
 +y2 = np.cos(x)
 +
 +plt.title("graph")
 +plt.xlabel("x")
 +plt.ylabel("y")
 +
 +plt.plot(x, y1, label="sin x"  # labelに凡例に表示する文字を指定
 +plt.plot(x, y2, label="cos x")
 +plt.legend()                     # 凡例を表示
 +
 +plt.xlim(-np.pi, np.pi)
 +plt.ylim(-1.2,   1.2)
 +
 +plt.show()
 +</file>
 +
 +{{:python:matplotlib:intro4.png?direct&400|}}
 +
 +凡例の表示する位置は、matplotlibが適切な位置を自動的に探します。
 +手動で設定する場合は、例えば左上の場合は <file python>plt.legend(loc="upper left")</file>とします。
 +(右下の場合は lower right とします。他も同様)
  
  
Line 68: Line 122:
 ====== データのプロット ====== ====== データのプロット ======
  
 +次に配列に格納されているデータをプロットしてみましょう。
 +以下では$y=x^2$のデータを用意しました。
 +配列のサイズはx成分とy成分で同じにします。
 +
 +<file python>
 +import numpy as np
 +import matplotlib.pyplot as plt
 +
 +x = [1,2,3, 4, 5, 6, 7, 8, 9, 10]   # データのx成分
 +y = [1,4,9,16,25,36,49,64,81,100]   # データのy成分
 +
 +plt.title("graph")
 +plt.xlabel("x")
 +plt.ylabel("y")
 +
 +plt.plot(x, y)
 +
 +plt.show()
 +</file>
 +
 +{{:python:matplotlib:intro5.png?direct&400|}}
  
 +各データは直線で結ばれます。
 +もし点だけにしたいなら<file python>plt.plot(x, y, "o")</file>とします(oは丸い点の意味です。その他については別のページで解説します)。
  
  
python/matplotlib/基本的な使い方.txt · Last modified: 2021/06/27 22:04 (external edit)