In [ ]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import math

散布図

4つの点を平面上にプロットする例です。plot(xのリスト, yのリスト)という書式です。デフォルトでは4つの点を結ぶ直線が表示されます。

In [ ]:
plt.plot([1,2,3,4], [1,4,9,16])
plt.show()

線ではなく点で表示するには、plot()の第三引数に'o'を加えます。

In [ ]:
# 赤い(r)点(o)を表示
plt.plot([1,2,3,4], [1,4,9,16], 'ro')
plt.show()

点と線の両方を表示するには、plot()の第三引数に'o-'と書きます。

In [ ]:
# 赤い(r)点(o)を表示
plt.plot([1,2,3,4], [1,4,9,16], 'r-o')
plt.show()

各種ラベルの追加

タイトル、X軸、Y軸に名前を付ける方法です。

ついでに、グラフ中にテキストを書く方法と、グリッド線を表示する方法も示しています。

In [ ]:
plt.plot([1,2,3,4], [1,4,9,16], 'ro')
# x軸, y軸の範囲を設定  x軸は[0,6], y軸は[0, 20]
plt.axis([0, 6, 0, 20])
# グラフにタイトルを付与
plt.title('graph title here')
# x軸, y軸に名前を付与
plt.xlabel('x-axis name here')
plt.ylabel('y-axis name here')
# グラフ中にテキストを表示
plt.text(1, 15, r'text here. $\alpha, \beta, \gamma$')
# グリッド線を表示
plt.grid(True)
plt.show()

日本語のラベル

In [ ]:
# 参考:http://sucrose.hatenablog.com/entry/2013/06/10/001250
import matplotlib.font_manager
prop = matplotlib.font_manager.FontProperties(fname=r'C:\Windows\Fonts\meiryo.ttc')

plt.title(u'日本語のタイトルを表示', fontproperties=prop)
plt.show()

y = f(x)の表示

変数の数がひとつの関数を書くには、上で書いた散布図の考え方を応用します。

下の例では、まずxを0.0から5.0の範囲で0.2ずつサンプリングします。 そして各xに対する$f(x)$ (ここでは$f(x) = \sin(x)$)の値を計算し、fxに格納します。 あとは散布図の書き方と同様です。

In [ ]:
x = np.arange(0., 5., 0.2)
fx = np.sin(x)
plt.plot(x, fx)
plt.show()

y = f(x), g(x), h(x)を同時に比較

同時に複数のグラフを書くこともできます。

In [ ]:
x = np.arange(0., 5., 0.1)

fx = np.sin(x)
gx = np.cos(x)
hx = np.sqrt(x)

plt.plot(x, fx, 'r--', x, gx, 'bs', x, hx, 'g^')
plt.show()
In [ ]: