カスタム フィギュア サブクラスの作成

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験では、Matplotlib でカスタム フィギュア サブクラスを作成する方法を学びます。プロットにテキスト ウォーターマークを追加する WatermarkFigure クラスを作成します。

VM のヒント

VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使用して演習を行います。

場合によっては、Jupyter Notebook が読み込み完了するまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題が発生した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

必要なライブラリをインポートする

まず、必要なライブラリ matplotlib.pyplotnumpy をインポートします。

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 ライブラリを使用して xy の配列を作成します。

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 クラスを作成しました。また、カスタム フィギュア サブクラスを使ってデータをプロットする方法も学びました。