Pythonでグラフを描く
Pythonではmatplotlibモジュールを使うと、グラフを描きます。ここでは、matplotlibでグラフを描くときの基本となるメソッドについて説明します。
目次
matplotlib.pyplot.plotメソッドの使い方
plotメソッドでグラフ(線図)のインスタンスを作り、showメソッドで表示をします。
plot([x], y, [fmt])
変数 |
型 |
内容 |
---|---|---|
x |
array-like |
省略可。グラフ中の点のx成分。省略した場合は、0〜N-1の整数。 |
y |
array-like |
グラフ中の点のy成分。 |
fmt |
str |
省略可。線の書式。 |
上記のパラメータは最低限のものです。
fmtの書式は下記です。
fmt = '[color][marker][line]'
colorの文字と指定内容の対応は下表のようになります。
文字 |
指定内容 |
---|---|
b |
青色 |
g |
緑色 |
r |
赤色 |
c |
シアン色 |
m |
マゼンタ色 |
y |
黄色 |
k |
黒色 |
w |
白色 |
16進数での色指定もできるようです。
markerは沢山あります。
文字 |
指定内容 |
---|---|
. |
点 |
, |
ドット |
o |
円 |
v |
下向き三角 |
^ |
上向き三角 |
< |
左向き三角 |
> |
右向き三角 |
1 |
tri_down |
2 |
tri_up |
3 |
tri_left |
4 |
tri_right |
s |
四角 |
p |
五角 |
星 |
|
h |
六角 |
H |
六角 |
十字 |
|
x |
バッテン |
D |
ダイヤ |
d |
細いダイヤ |
※ |
縦線 |
_ |
横線 |
※ | (バーティカルライン)です。なぜか表中でエスケープできなかったので。
lineはあまり種類はありません。
文字 |
指定内容 |
---|---|
※ |
線 |
-- |
破線 |
-. |
一点鎖線 |
: |
点線 |
※ -(ハイフン)です。これも表中でエスケープできなかったので。
グラフの作成例
何はさておき、試してみましょう。
下記の3つのグラフを1つの図に描いてみます。
y = sin(x)
y = cos(x)
y = tan(x)
まずは、プロットするデータを作ります。ここではNumPyを使います。
>>> import numpy as np
>>> x = np.linspace(0, 2*np.pi, 21)
>>> y1 = np.sin(x)
>>> y2 = np.cos(x)
これで共通のxの成分に対する各関数のyの成分を計算できました。
それでは、プロットしてみます。
>>>from matplotlib import pyplot as plt
>>> plt.plot(x, y1, 'b.-')
[<matplotlib.lines.Line2D object at 0x11f2946a0>]
>>> plt.plot(x, y2, 'g,-.')
[<matplotlib.lines.Line2D object at 0x118dd97f0>]
>>> plt.show()
MacやWindowsなんかだと、新しいウィンドウが開いてグラフが表示されます。Jupyter Notebookだとブックの中に表示されると思います。
公開日
広告
Pythonでグラフカテゴリの投稿
- Pythonで3Dグラフを描く
- PythonでGIFアニメを作る(PILでアニメーションファイルを出力編)
- Pythonでグラフのアニメを作る(OpenCVでmp4ファイルを出力編)
- Pythonでグラフのコンテナを作る
- Pythonでグラフを描く
- Pythonでグラフ(Matplotlib)のアニメーションを作る(ArtistAnimation編)
- Pythonでグラフ(Matplotlib)のアニメーションを作る(FuncAnimation編)
- PythonのMatplotlibのグラフに領域を指示して最大値と最小値を取得する
- PythonのMatplotlibのグラフに領域を指示して最大値と最小値を取得する(GUI版)
- PythonのMatplotlibのグラフをNumPy行列に変換してOpenCVやPillowで使う
- Pythonのグラフのひな形