目次
Matplotlibとは?
データの可視化方法を見ていきます。
1 2 3 4 5 6 7 |
import matplotlib.pyplot as plt import numpy x = numpy.linspace(-numpy.pi * 2, numpy.pi * 2, 1024, endpoint=True) y_sin = numpy.sin(x) plt.plot(x, y_sin) plt.show() |

描画スタイルの変更 グラフサイズを変更する
pyplot.figure() 関数にパラメータ figsize に x, y のサイズをインチで与えます。
1 2 3 4 5 6 7 8 9 10 |
# グラフサイズを変更する。単位はインチ from matplotlib import pyplot import numpy x = numpy.linspace(-numpy.pi * 2, numpy.pi * 2, 1024, endpoint=True) y_sin = numpy.sin(x) y_cos = numpy.cos(x) pyplot.figure(figsize=(11, 7)) pyplot.plot(x, y_sin) pyplot.plot(x, y_cos) pyplot.show() |

線色と線幅の変更 線の色や幅を変更する
pyplot.plot() 関数のパラメータに設定します。線の色は color パラメータ、線の幅は linewidth パラメータに与えます。
1 2 3 4 5 6 7 8 9 10 11 |
from matplotlib import pyplot import numpy x = numpy.linspace(-numpy.pi * 2, numpy.pi * 2, 1024, endpoint=True) y_sin = numpy.sin(x) y_cos = numpy.cos(x) pyplot.figure(figsize=(11, 7)) # pyplot.plot(x, y_sin) # pyplot.plot(x, y_cos) pyplot.plot(x, y_sin, color='blue', linewidth=2.0) pyplot.plot(x, y_cos, color='red', linewidth=2.0) pyplot.show() |

x軸、y軸を設定する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
from matplotlib import pyplot import numpy x = numpy.linspace(-numpy.pi * 2, numpy.pi * 2, 1024, endpoint=True) y_sin = numpy.sin(x) y_cos = numpy.cos(x) pyplot.figure(figsize=(11, 7)) pyplot.plot(x, y_sin, color='blue', linewidth=2.0) pyplot.plot(x, y_cos, color='red', linewidth=2.0) # x軸の最小値、最大値を、xの最小値、最大値の1.2倍とする pyplot.xlim(x.min() * 1.2, x.max() * 1.2) # y軸の最小値、最大値を、y_sinの最小値、最大値の1.2倍とする pyplot.ylim(y_sin.min() * 1.2, y_sin.max() * 1.2) pyplot.show() |

軸のメモリを設定する
pyplot.xticks(), pyplot.yticks() 関数で設定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
from matplotlib import pyplot import numpy x = numpy.linspace(-numpy.pi * 2, numpy.pi * 2, 1024, endpoint=True) y_sin = numpy.sin(x) y_cos = numpy.cos(x) pyplot.figure(figsize=(11, 7)) pyplot.plot(x, y_sin, color='blue', linewidth=2.0) pyplot.plot(x, y_cos, color='red', linewidth=2.0) pyplot.xlim(x.min() * 1.2, x.max() * 1.2) pyplot.ylim(y_sin.min() * 1.2, y_sin.max() * 1.2) # x軸の目盛設定.リストを与える pyplot.xticks([-numpy.pi * 2, -numpy.pi, 0, numpy.pi, numpy.pi * 2]) # y軸の目盛設定.リストを与える pyplot.yticks([-1, -0.5, 0, 0.5, 1]) pyplot.show() |

メモリのラベルを変更する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
from matplotlib import pyplot import numpy x = numpy.linspace(-numpy.pi * 2, numpy.pi * 2, 1024, endpoint=True) y_sin = numpy.sin(x) y_cos = numpy.cos(x) pyplot.figure(figsize=(11, 7)) pyplot.plot(x, y_sin, color='blue', linewidth=2.0) pyplot.plot(x, y_cos, color='red', linewidth=2.0) pyplot.xlim(x.min() * 1.2, x.max() * 1.2) pyplot.ylim(y_sin.min() * 1.2, y_sin.max() * 1.2) # x軸の目盛設定.リストを与える pyplot.xticks([-numpy.pi * 2, -numpy.pi, 0, numpy.pi, numpy.pi * 2], [r'$-2\pi$', r'$-\pi$', r'$0$', r'$\pi$', r'$2\pi$']) # 上記の目盛に別名を付ける # y軸の目盛設定.リストを与える pyplot.yticks([-1, -0.5, 0, 0.5, 1], [r'$-1.0$', r'$-0.5$', r'$0.0$', r'$0.5$', r'$1.0$']) # 上記の目盛に別名を付ける pyplot.show() |

凡例を追加する
凡例を追加するときは pyplot.legent() 関数を呼びます。この時 pyplot.plot() 関数に描画するデータを渡すときにラベル名をパラメータ label として与えます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
from matplotlib import pyplot import numpy x = numpy.linspace(-numpy.pi * 2, numpy.pi * 2, 1024, endpoint=True) y_sin = numpy.sin(x) y_cos = numpy.cos(x) pyplot.figure(figsize=(11, 7)) pyplot.plot(x, y_sin, color='blue', linewidth=2.0, label=r'$\sin(x)$') pyplot.plot(x, y_cos, color='red', linewidth=2.0, label=r'$\cos(x)$') pyplot.xlim(x.min() * 1.2, x.max() * 1.2) pyplot.ylim(y_sin.min() * 1.2, y_sin.max() * 1.2) pyplot.xticks([-numpy.pi * 2, -numpy.pi, 0, numpy.pi, numpy.pi * 2], [r'$-2\pi$', r'$-\pi$', r'$0$', r'$\pi$', r'$2\pi$']) pyplot.yticks([-1, -0.5, 0, 0.5, 1], [r'$-1.0$', r'$-0.5$', r'$0.0$', r'$0.5$', r'$1.0$']) # 凡例追加 pyplot.legend() pyplot.show() |

グラフタイトルを追加する
pyplot.title() 関数を利用します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
from matplotlib import pyplot import numpy x = numpy.linspace(-numpy.pi * 2, numpy.pi * 2, 1024, endpoint=True) y_sin = numpy.sin(x) y_cos = numpy.cos(x) pyplot.figure(figsize=(11, 7)) pyplot.plot(x, y_sin, color='blue', linewidth=2.0, label=r'$\sin(x)$') pyplot.plot(x, y_cos, color='red', linewidth=2.0, label=r'$\cos(x)$') pyplot.xlim(x.min() * 1.2, x.max() * 1.2) pyplot.ylim(y_sin.min() * 1.2, y_sin.max() * 1.2) pyplot.xticks([-numpy.pi * 2, -numpy.pi, 0, numpy.pi, numpy.pi * 2], [r'$-2\pi$', r'$-\pi$', r'$0$', r'$\pi$', r'$2\pi$']) pyplot.yticks([-1, -0.5, 0, 0.5, 1], [r'$-1.0$', r'$-0.5$', r'$0.0$', r'$0.5$', r'$1.0$']) pyplot.legend() # タイトル追加 pyplot.title('Test Plot') pyplot.show() |

画像の表示
1 2 3 4 5 6 |
import matplotlib.pyplot as plt from matplotlib.image import imread img = imread("image.png") plt.imshow(img) plt.show() |