はじめに
この実験では、Matplotlib でカスタム フィギュア サブクラスを作成する方法を学びます。プロットにテキスト ウォーターマークを追加する WatermarkFigure クラスを作成します。
VM のヒント
VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使用して演習を行います。
場合によっては、Jupyter Notebook が読み込み完了するまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題が発生した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリをインポートする
まず、必要なライブラリ matplotlib.pyplot と numpy をインポートします。
import matplotlib.pyplot as plt
import numpy as np
カスタム フィギュア サブクラスを作成する
プロットにテキスト ウォーターマークを追加する WatermarkFigure という名前のカスタム フィギュア サブクラスを作成します。このクラスは、Matplotlib の Figure クラスから継承されます。
from matplotlib.figure import Figure
class WatermarkFigure(Figure):
"""A figure with a text watermark."""
def __init__(self, *args, watermark=None, **kwargs):
super().__init__(*args, **kwargs)
if watermark is not None:
bbox = dict(boxstyle='square', lw=3, ec='gray',
fc=(0.9, 0.9,.9,.5), alpha=0.5)
self.text(0.5, 0.5, watermark,
ha='center', va='center', rotation=30,
fontsize=40, color='gray', alpha=0.5, bbox=bbox)
プロット用のデータを作成する
プロット用のデータを作成します。この例では、numpy ライブラリを使用して x と y の配列を作成します。
x = np.linspace(-3, 3, 201)
y = np.tanh(x) + 0.1 * np.cos(5 * x)
カスタム フィギュア サブクラスを使ってデータをプロットする
カスタム フィギュア サブクラス WatermarkFigure を使って、plt.figure() 関数を使ってデータをプロットします。この例では、プロットに "draft" というウォーターマーク テキストを追加します。
plt.figure(FigureClass=WatermarkFigure, watermark='draft')
plt.plot(x, y)
参考文献を確認する
この例で使用した参考文献を確認します。
## References
## matplotlib.pyplot.figure
## matplotlib.figure.Figure
## matplotlib.figure.Figure.text
まとめ
この実験では、Matplotlib でカスタム フィギュア サブクラスを作成する方法を学びました。プロットにテキスト ウォーターマークを追加する WatermarkFigure クラスを作成しました。また、カスタム フィギュア サブクラスを使ってデータをプロットする方法も学びました。