凡例のエッジカラーとフェイスカラーを変更する方法 質問する

凡例のエッジカラーとフェイスカラーを変更する方法 質問する

凡例領域の背景を指定の色で塗りつぶす簡単な方法はありますかrcParams['legend.frameon'] = 'False'。具体的には、凡例領域にグリッドが表示されないようにしたいのですが、グリッドがあるとテキストの読み取りが妨げられます。

キーワードはframealpha必要なもののように思えますが、何も変わりません。

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams['legend.frameon'] = 'False'
plt.plot(range(5), label = u"line")
plt.grid(True)
plt.legend(loc = best)
plt.show()

私も試しました:

legend = plt.legend(frameon = 1)
frame = legend.get_frame()
frame.set_color('white')

しかし、フレームをオンにしたまま背景色を変更するにはどうすればよいか尋ねる必要があります。白以外の背景色でフレームをオンにしたい場合があります。また、フレームの色を変更する方法はありますか? 上記のコードでは、背景ではなくフレームの色のみを変更することを期待していました。

ベストアンサー1

次のように、エッジの色と面の色を別々に設定できます。

frame.set_facecolor('green')
frame.set_edgecolor('red')

FancyBboxPatchの下にさらに詳しい情報がありますここ

おすすめ記事