matplotlibは、pythonでグラフとかかけるやつです。インストールは、ここに説明があります。ギャラリーみるとかなり色々なグラフをかけるようです。使い方のドキュメントはここです。
グラフを書いてみる
plot()でプロットできます。引数は1つだとyだけ、2つだと、x,yの順になるみたい。ylabelとかでラベルも設定できる。show()で表示することができる。
import matplotlib.pyplot as plt plt.plot([1,200,3, 100, 30], [2, 4, 6, 9, 20]) plt.ylabel('hogehoge') plt.show()
参考:matplotlib入門
numpyと一緒につかってサインコサインとか簡単にかけるらしい。
import numpy as np import matplotlib.pyplot as plt x = np.arange(-3, 3, 0.1) y = np.sin(x) plt.plot(x, y) plt.show()
np.arangeで、-3から3までを0.1間隔でつくってる。np.sin(x)とやると、xに入ってる要素に応じた結果が配列で返ってくる。1次関数を簡単に書く方法はないのでしょうか?たとえば、y = 3x + 3という数式を入れたらパッと表示されるとか。できた。numpy便利だな。
1次関数
x = np.arange(0, 3, 0.1) y = 2 * x + 5 plt.plot(x, y) plt.show()
2次関数
x = np.arange(-10, 10, 0.1) y = 2 * x**2 + 3 * x - 4 plt.plot(x, y) plt.show()
3次関数
x = np.arange(-10, 10, 0.1) y = 3 * x**3 + 2 * x**2 + 3 * x - 4 plt.plot(x, y) plt.show()
4次関数
x = np.arange(-10, 10, 0.1) y = 4*x**4 + 3*x**3 + 2*x**2 + x + 5 plt.plot(x, y) plt.show()
散布図
散布図は、plot(x, y, 'o')といった感じで、第三引数に文字いれればできる。文字はなんでもいいわけではなく、決まりがある。o(オー)だと〇とか。roとやると赤い〇になる。dとか1とかも使えた。
x = np.arange(-10, 10, 0.5)
y = 3 * x + 5 + np.random.randn(40) * 5
plt.plot(x, y, 'rd')
plt.show()