User Tools

Site Tools


python:matplotlib:基本的な使い方

Differences

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

Link to this comparison view

python:matplotlib:基本的な使い方 [2018/01/21 00:27]
koudai [初めてのプロット]
python:matplotlib:基本的な使い方 [2021/06/27 22:04]
Line 1: Line 1:
-====== 概要 ====== 
- 
-matplotlibの必要最低限の使い方を解説します。 
- 
- 
-====== 関数のプロット ====== 
- 
-三角関数を例に、関数のプロット方法と簡単な調節の仕方を紹介します。 
- 
-===== 初めてのプロット ===== 
- 
-とりあえずsin関数を書いてみましょう。 
-次のスクリプトを作成します。 
- 
-<file python sin.py> 
-import numpy as np 
-import matplotlib.pyplot as plt 
- 
-x = np.arange(-5, 5, 0.1)   # xを-5から5まで0.1刻みで用意する 
-y = np.sin(x)               # y = sin x 
- 
-plt.plot(x, y)   # 横軸をxとして y=y(x) のグラフをプロットする 
-plt.show()       # プロットしたグラフを画面に表示する 
-</file> 
- 
-それぞれのコードの意味はコメントを参照してください。 
-スクリプトができたら<code>$ python sin.py</code>を実行するとグラフが表示されます。 
- 
-{{:python:matplotlib:intro1.png?direct&400|}} 
- 
-保存するにはグラフが表示されたウィンドウの上の方にあるフロッピーディスクのマークをクリックします(Ctrlキーを押しながらsを押すのでも可)。 
- 
-あるいはplt.savefigを使うとファイルに直接出力できます。 
- 
-<file python> 
-import numpy as np 
-import matplotlib.pyplot as plt 
- 
-x = np.arange(-5, 5, 0.1) 
-y = np.sin(x) 
- 
-plt.plot(x, y) 
-plt.savefig("sin.png"  # プロットしたグラフをファイルsin.pngに保存する 
-</file> 
- 
-保存できる形式は 
-  * emf 
-  * eps 
-  * jpeg 
-  * jpg 
-  * pdf 
-  * png 
-  * ps 
-  * raw 
-  * rgba 
-  * svg 
-  * svgz 
-  * tif 
-  * tiff 
-です。 
-ファイルの種類は拡張子により自動判別されます。 
- 
- 
-===== グラフの表示範囲の指定 ===== 
- 
-プロットしたグラフを画面に表示する際、そのままだとすべてのデータが枠内に収まるように表示されます。 
-表示したい範囲を制限したい場合は次のようにします。 
- 
-<file python sin.py> 
-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") 
-plt.plot(x, y2, label="cos x") 
-plt.legend() 
- 
-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) 
-plt.title("graph"  # グラフのタイトル 
-plt.xlabel("x"     # x軸(横軸)のラベル 
-plt.ylabel("sin x" # y軸(縦軸)のラベル 
- 
-plt.plot(x, y) 
- 
-plt.xlim(-np.pi, np.pi) 
-plt.ylim(-1.2,   1.2) 
- 
-plt.show() 
-</file> 
- 
-{{:python:matplotlib:intro3.png?direct&400|}} 
- 
- 
-===== 複数のグラフ ===== 
- 
-複数のグラフを同時にプロットしたい場合を扱います。 
-例えば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 とします。他も同様) 
- 
- 
- 
- 
-====== データのプロット ====== 
- 
-次に配列に格納されているデータをプロットしてみましょう。 
-以下では$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)