プロットの背景色を変更するにはどうすればいいですか? 質問する

プロットの背景色を変更するにはどうすればいいですか? 質問する

matplotlib で散布図を作成していますが、実際のプロットの背景を黒に変更する必要があります。次のコードを使用してプロットの表面の色を変更する方法を知っています。

fig = plt.figure()
fig.patch.set_facecolor('xkcd:mint green')

ここに画像の説明を入力してください

問題は、これによってプロットの周囲のスペースの色が変わってしまうことです。プロットの実際の背景色を変更するにはどうすればよいでしょうか?

ベストアンサー1

次のいずれかの方法で作成したオブジェクトset_facecolor(color)の メソッドaxesを使用します。

  • 図と軸を一緒に作成しました

    fig, ax = plt.subplots(nrows=1, ncols=1)
    
  • 図を作成し、その後軸を作成します

    fig = plt.figure()
    ax = fig.add_subplot(1, 1, 1) # nrows, ncols, index
    
  • ステートフル API を使用しました (数行以上の処理を実行する場合、特に複数のプロットがある場合は、上記のオブジェクト指向メソッドを使用すると、特定の図を参照したり、特定の軸にプロットしたり、どちらかをカスタマイズしたりできるため、作業が簡単になります)

    plt.plot(...)
    ax = plt.gca()
    

次に以下を使用しますset_facecolor:

ax.set_facecolor('xkcd:salmon')
ax.set_facecolor((1.0, 0.47, 0.42))

軸にピンクの背景があるプロットの例

色の種類についておさらいすると、次のようになります。

matplotlib.colors

Matplotlib は、色を指定するために次の形式を認識します。

  • 浮動小数点値の RGB または RGBA タプル[0, 1](例:(0.1, 0.2, 0.5)または(0.1, 0.2, 0.5, 0.3))。
  • 16 進数の RGB または RGBA 文字列 (例:'#0F0F0F'または'#0F0F0F0F')。
  • [0, 1]グレーレベルを含むの浮動小数点値の文字列表現(例: '0.5')。
  • の一つ{'b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'};
  • X11/CSS4 の色名。
  • 名前からxkcd カラー調査; の先頭に付く'xkcd:'(例: 'xkcd:sky blue');
  • そのうちの 1 つは、{'tab:blue', 'tab:orange', 'tab:green', 'tab:red', 'tab:purple', 'tab:brown', 'tab:pink', 'tab:gray', 'tab:olive', 'tab:cyan'}「T10」カテゴリ パレット (デフォルトのカラー サイクル) の Tableau カラーです。
  • 「CN」カラー仕様、つまり「C」の後に 1 桁の数字が続き、デフォルトのプロパティ サイクル ( matplotlib.rcParams['axes.prop_cycle']) へのインデックスです。インデックス作成はアーティストの作成時に行われ、サイクルに色が含まれていない場合はデフォルトで黒になります。

「CN」以外のすべての色の文字列指定では、大文字と小文字は区別されません。

おすすめ記事