はじめに
この実験では、スタイル シートと rcParams を使用して Matplotlib をカスタマイズするプロセスを案内します。Matplotlib は、Python でグラフを作成するための強力なライブラリです。Matplotlib のプロパティと既定のスタイルをカスタマイズすることで、独自性と視覚的に魅力的なプロットを作成できます。
VM のヒント
VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使用して練習します。
場合によっては、Jupyter Notebook が読み込み完了するまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。そうすれば、迅速に問題を解決します。
実行時に rcParams を設定する
Python スクリプト内で、または Python シェルから対話的に、既定の実行時構成設定を動的に変更することができます。matplotlib.rcParams 変数は Matplotlib パッケージ全体でグローバルなもので、すべての rc 設定を格納しています。実行時に rcParams をカスタマイズするには、mpl.rcParams 辞書を使って直接変更することができます。以下は例です:
import matplotlib as mpl
mpl.rcParams['lines.linewidth'] = 2
mpl.rcParams['lines.linestyle'] = '--'
このコードは、Matplotlib で作成されるすべてのプロットの既定の線幅と線のスタイルを変更します。
新しい既定設定で描画されたいくつかのランダムなデータを見てみましょう。
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
from cycler import cycler
mpl.rcParams['lines.linewidth'] = 2
mpl.rcParams['lines.linestyle'] = '--'
data = np.random.randn(50)
plt.plot(data)
plt.show()
スタイル シートの使用
グラフの視覚的な外観を変更する別の方法は、スタイル シートで rcParams を設定し、matplotlib.style.use を使ってそのスタイル シートをインポートすることです。スタイル シートは、グラフのスタイルに関連する一連の rcParams を含むファイルです。Matplotlib は、使用できるいくつかの事前定義済みのスタイルを提供しています。たとえば、「ggplot」スタイルは R の ggplot ライブラリの美学をエミュレートします。このようにしてスタイル シートを適用できます:
import matplotlib.pyplot as plt
print(plt.style.available)
plt.style.use('Solarize_Light2')
独自のカスタム スタイルを定義し、それをスタイル シートのパスまたは URL を指定して .style.use を呼び出すことで使用することもできます。
matplotlibrc ファイルの変更
matplotlibrc ファイルは、Matplotlib のあらゆる種類のプロパティをカスタマイズするための設定ファイルです。このファイルは、グラフのサイズ、線幅、色、フォントなどのプロパティの既定値を制御します。好みに応じて Matplotlib をカスタマイズするには、matplotlibrc ファイルを変更します。このファイルはシステム内のさまざまな場所にあり、Matplotlib は特定の順序でそれを探します。matplotlibrc ファイルが見つかると、他の設定よりも優先されます。現在アクティブな matplotlibrc ファイルのパスを表示するには、matplotlib.matplotlib_fname() 関数を使用します。
まとめ
Matplotlib は、グラフのプロパティと既定のスタイルをカスタマイズするための複数の方法を提供しています。実行時に rcParams を設定したり、スタイル シートを使ってグラフの視覚的な外観を変更したり、matplotlibrc ファイルを変更して Matplotlib 全体をカスタマイズしたりすることができます。さまざまなカスタマイズ方法を試して、Matplotlib を使って独自性と視覚的に魅力的なグラフを作成しましょう。