Pythonでグラフを描く

Pythonではmatplotlibモジュールを使うと、グラフを描きます。ここでは、matplotlibでグラフを描くときの基本となるメソッドについて説明します。

目次

  1. matplotlib.pyplot.plotメソッドの使い方
  2. グラフの作成例

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でグラフカテゴリの投稿