Matplotlibプロットの背景色(フェイスカラー)を変更する方法
Matplotlibで作成するグラフの背景色は、デフォルトでは白に設定されています。しかし、set_facecolor()メソッドを使えば、プロット領域の背景色を自由にカスタマイズできます。この記事では、デフォルトの背景色を持つグラフと、カスタム背景色を設定したグラフを並べて表示し、その違いを確認する手順を解説します。
実装の手順
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
plt.gca()で現在の軸(Axes)を取得し、get_facecolor()でデフォルトの背景色を確認します。- nrows=1、ncols=2、index=1 を指定して、現在の図に1つ目のサブプロットを追加します。
plot()メソッドを使って、ランダムな x・y のデータ点をプロットします。- サブプロットにタイトルを設定します。
- nrows=1、ncols=2、index=2 を指定して、2つ目のサブプロットを追加します。
- 再び
plt.gca()で現在の軸を取得します。 ax.set_facecolor("orange")のように、任意の背景色(フェイスカラー)を設定します。plot()メソッドで x・y のデータ点をプロットします。- プロットにタイトルを設定します。
show()メソッドを使って図を表示します。
コード例
import numpy as np
import matplotlib.pyplot as plt
# 図のサイズとレイアウトの自動調整を設定
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
# 現在の軸を取得し、デフォルトの背景色を表示
ax = plt.gca()
print("Default face color is: ", ax.get_facecolor())
# 左側:デフォルトの背景色でプロット
plt.subplot(121)
plt.plot(np.random.rand(10), np.random.rand(10))
plt.title("With default face color")
# 右側:カスタム背景色(オレンジ)でプロット
plt.subplot(122)
ax = plt.gca()
ax.set_facecolor("orange")
plt.plot(np.random.rand(10), np.random.rand(10))
plt.title("With customize face color")
plt.show()
出力結果

このコードを実行すると、左側のグラフはデフォルトの白い背景、右側のグラフはオレンジ色の背景で描画されます。コンソールにはデフォルトのフェイスカラーがRGBA形式(例:(1.0, 1.0, 1.0, 1.0))で出力されます。なお、図全体(Figure)の背景色を変更したい場合は、plt.figure(facecolor="...") や fig.patch.set_facecolor() を使用してください。
-
MatplotlibでJupyterノートブックのmatshow()のfigsize(図のサイズ)を変更する方法
Matplotlibのmatshow()メソッドで表示される図のサイズ(figsize)を変更したい場合、figure()メソッドの引数にfigsizeを指定し、matshow()メソッドにはfignumを指定することで実現できます。手順figure()メソッドを使って、新しい図を作成するか、既存の図をアクティブにします。このとき、figsize引数で図のサイズを指定できます。Pandasを使ってデータフレームを作成します。matshow()メソッドを使って、配列を行列として新しい図ウィンドウに表示します。引数fignumには、None、整数、または0を指定できます。Noneの場合:自動的に番
-
MatplotlibでRectangle(長方形)に色を設定する方法
Matplotlibで長方形(Rectangle)に色を設定するには、以下の手順に従います。手順figure() メソッドを使用して、新しい図(Figure)を作成するか、既存の図をアクティブにします。add_subplot() メソッドを使用して、サブプロット構成の一部として図に ~.axes.Axes を追加します。長方形は、アンカーポイント(基準座標)と幅・高さを指定することで定義できます。作成したRectangleパッチを add_patch() でプロットに追加します。xlim() および ylim() メソッドを使用して、x軸とy軸の表示範囲を設定します。図を表示するには、show