python:matplotlib:基本的な使い方
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
python:matplotlib:基本的な使い方 [2018/01/20 23:44] – koudai | python:matplotlib:基本的な使い方 [2021/06/27 22:04] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 17: | Line 17: | ||
import matplotlib.pyplot as plt | import matplotlib.pyplot as plt | ||
- | x = np.arange(-np.pi, np.pi, 0.1) # xを-πからπまで0.1刻みで用意する | + | x = np.arange(-5, 5, 0.1) |
- | y = np.sin(x) | + | y = np.sin(x) |
plt.plot(x, y) # 横軸をxとして y=y(x) のグラフをプロットする | plt.plot(x, y) # 横軸をxとして y=y(x) のグラフをプロットする | ||
Line 29: | Line 29: | ||
{{: | {{: | ||
- | 保存するにはグラフが表示されたウィンドウの上の方にあるフロッピーディスクのマークをクリックします(Ctrlキーを押しながらsを押すのでも可)。 | + | 保存するにはグラフが表示されたウィンドウの上の方にあるフロッピーディスクのマークをクリックします([Ctrl-s]も可)。 |
- | あるいはplt.savefigを使うとファイルに直接出力できます。 | ||
- | <file python> | + | ===== グラフの表示範囲の指定 ===== |
+ | |||
+ | プロットしたグラフを画面に表示する際、そのままだとすべてのデータが枠内に収まるように表示されます。 | ||
+ | 表示したい範囲を制限したい場合は次のようにします。 | ||
+ | |||
+ | <file python | ||
import numpy as np | import numpy as np | ||
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) |
- | y = np.sin(x) | + | y1 = np.sin(x) |
+ | y2 = np.cos(x) | ||
+ | |||
+ | plt.xlim(-np.pi, | ||
+ | plt.ylim(-1.2, | ||
- | plt.plot(x, y) | + | plt.show() |
- | plt.savefig(" | + | |
</ | </ | ||
- | 保存できる形式は | + | {{: |
- | * emf | + | |
- | * eps | + | |
- | * jpeg | + | |
- | * jpg | + | |
- | + | ||
- | * png | + | |
- | * ps | + | |
- | * raw | + | |
- | * rgba | + | |
- | * svg | + | |
- | * svgz | + | |
- | * tif | + | |
- | * tiff | + | |
- | です。 | + | |
- | 拡張子により自動判別されます。 | + | |
Line 71: | Line 65: | ||
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) |
y = np.sin(x) | y = np.sin(x) | ||
+ | |||
plt.title(" | plt.title(" | ||
plt.xlabel(" | plt.xlabel(" | ||
- | plt.ylabel(" | + | plt.ylabel(" |
plt.plot(x, y) | plt.plot(x, y) | ||
+ | |||
+ | plt.xlim(-np.pi, | ||
+ | plt.ylim(-1.2, | ||
+ | |||
plt.show() | plt.show() | ||
</ | </ | ||
- | {{: | + | {{: |
Line 94: | Line 93: | ||
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) | y1 = np.sin(x) | ||
y2 = np.cos(x) | y2 = np.cos(x) | ||
Line 105: | Line 104: | ||
plt.plot(x, y2, label=" | plt.plot(x, y2, label=" | ||
plt.legend() | plt.legend() | ||
+ | |||
+ | plt.xlim(-np.pi, | ||
+ | plt.ylim(-1.2, | ||
plt.show() | plt.show() | ||
</ | </ | ||
- | {{: | + | {{: |
凡例の表示する位置は、matplotlibが適切な位置を自動的に探します。 | 凡例の表示する位置は、matplotlibが適切な位置を自動的に探します。 | ||
Line 115: | Line 117: | ||
(右下の場合は lower right とします。他も同様) | (右下の場合は lower right とします。他も同様) | ||
- | |||
- | ===== プロット範囲の指定 ===== | ||
- | |||
- | matplotlibでは、そのままプロットするとすべてのデータが枠内に収まるようにプロットされます。 | ||
- | そこから表示したい範囲を切り出す場合は次のようにします。 | ||
- | |||
- | <file python sin.py> | ||
- | import numpy as np | ||
- | import matplotlib.pyplot as plt | ||
- | |||
- | x = np.arange(-2.0 * np.pi, 2.0 * np.pi, 0.1) # -2πから2πまでのxを用意 | ||
- | y1 = np.sin(x) | ||
- | y2 = np.cos(x) | ||
- | |||
- | plt.title(" | ||
- | plt.xlabel(" | ||
- | plt.ylabel(" | ||
- | |||
- | plt.plot(x, y1, label=" | ||
- | plt.plot(x, y2, label=" | ||
- | plt.legend() | ||
- | |||
- | plt.xlim(-np.pi, | ||
- | plt.ylim(-1.2, | ||
- | |||
- | plt.show() | ||
- | </ | ||
- | |||
- | {{: | ||
Line 151: | Line 124: | ||
次に配列に格納されているデータをプロットしてみましょう。 | 次に配列に格納されているデータをプロットしてみましょう。 | ||
以下では$y=x^2$のデータを用意しました。 | 以下では$y=x^2$のデータを用意しました。 | ||
+ | 配列のサイズはx成分とy成分で同じにします。 | ||
<file python> | <file python> | ||
Line 156: | Line 130: | ||
import matplotlib.pyplot as plt | import matplotlib.pyplot as plt | ||
- | x = [1, | + | x = [1,2,3, 4, 5, 6, 7, 8, 9, 10] |
- | y = [1, | + | y = [1, |
plt.title(" | plt.title(" | ||
Line 163: | Line 137: | ||
plt.ylabel(" | plt.ylabel(" | ||
- | plt.plot(x, y, label=" | + | plt.plot(x, y) |
plt.show() | plt.show() | ||
- | </pyrhon> | + | </file> |
{{: | {{: | ||
各データは直線で結ばれます。 | 各データは直線で結ばれます。 | ||
- | もし点だけにしたいなら< | + | もし点だけにしたいなら< |
python/matplotlib/基本的な使い方.1516459486.txt.gz · Last modified: 2021/06/27 21:59 (external edit)