Matplotlibは、視覚的に魅力的なプロットを作成するための広範なカスタマイズオプションを提供します。一般的な拡張機能の1つは、プロットの背景色の調整です。このガイドでは、さまざまな方法を使用して、個々のプロットと複数のプロットの両方で背景色を変更する方法を示します。
目次
個々のプロットの背景色の設定
単一のプロットの背景を正確に制御するには、Axes
オブジェクトのset_facecolor()
メソッドを利用します。このメソッドは、さまざまな色の指定を受け付けます。
import matplotlib.pyplot as plt
# サンプルデータ
x = [1, 2, 3, 4, 5]
y = [2, 4, 1, 3, 5]
# プロットの作成
fig, ax = plt.subplots()
ax.plot(x, y)
# さまざまな方法による背景色の設定
ax.set_facecolor('lightblue') # 名前付きの色
ax.set_facecolor('#FFD700') # 16進数のカラーコード
ax.set_facecolor((1, 0.5, 0)) # RGBタプル
# タイトルとラベルの追加
ax.set_title('カスタム背景のプロット')
ax.set_xlabel('X軸')
ax.set_ylabel('Y軸')
plt.show()
デフォルトのプロット背景色の設定
スクリプト内の後続のプロットすべてに一貫した背景色を適用するには、rcParams
を使用してMatplotlibのスタイル設定を変更します。このアプローチは、統一されたスタイルで多数のプロットを生成する場合にプロセスを簡素化します。
import matplotlib.pyplot as plt
# デフォルトの背景色の設定
plt.rcParams['axes.facecolor'] = 'lightgray'
# 複数のプロットの作成
plt.plot([1, 2, 3], [4, 5, 6])
plt.show()
plt.plot([1, 2, 3, 4], [5, 6, 7, 8])
plt.show()
サブプロットへの適用
サブプロットを使用する場合は、fig.axes
を使用して各サブプロットのAxes
オブジェクトに個別にアクセスし、各オブジェクトにset_facecolor()
を適用します。
import matplotlib.pyplot as plt
fig, axes = plt.subplots(2, 2)
axes[0, 0].set_facecolor('lightblue')
axes[0, 1].set_facecolor('lightgreen')
axes[1, 0].set_facecolor('lightyellow')
axes[1, 1].set_facecolor('pink')
plt.show()
図の背景の変更
プロット領域だけでなく図全体の背景を変更するには、fig.patch.set_facecolor()
を使用します。
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
fig.patch.set_facecolor('whitesmoke') #図の背景を変更
ax.plot([1,2,3],[4,5,6])
plt.show()
色のリセット
Matplotlibのデフォルトの色に戻すには、Pythonカーネルを再起動するか、rcParams
辞書をリセットします。
import matplotlib.pyplot as plt
plt.rcParams.update(plt.rcParamsDefault)
結論
Matplotlibでの背景色のカスタマイズをマスターすると、プロットの明瞭性と視覚的な魅力が向上します。このガイドでは、個々のプロットのニーズに対応し、複数のプロット間で一貫したスタイルを維持するための、背景色を制御するための多様な手法を示します。