52

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')

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

4

3 に答える 3

8

Mollyの方法に加えて、線幅を使用してフレームをオフにすることができます。

frame.set_linewidth(0)

あなたが引用したのと同じ理由で、凡例フレームを非表示にするために書いた小さな便利な関数でそのメソッドを使用しました。この関数は、 github から入手できるモジュールで呼び出さadjust_legendsれます。print_targeted_plots

于 2013-11-08T21:37:26.310 に答える