如何在Matplotlib中将图例置于情节之外
问题描述
我有一系列的20个情节(不是子情节)要在一个图形中制作。我想让传奇走出框框。同时,我不想改变轴,因为图形的尺寸变小了。请为我解答以下问题:
- 我想将图例框保留在绘图区之外。(我希望图例位于绘图区的右侧)。
- 是否一定要减小图例框内文本的字体大小,以便图例框的大小变小。
解决方案
- 您可以通过指定
FontProperties
的set_size
来缩小图例文本。 - 资源:
- Legend guide
matplotlib.legend
matplotlib.pyplot.legend
matplotlib.font_manager
set_size(self, size)
- 有效字体大小为xx-小、x-小、小、中、大、x-大、xx-大、大、小、无
- Real Python: Python Plotting With Matplotlib (Guide)
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
fontP = FontProperties()
fontP.set_size('xx-small')
p1, = plt.plot([1, 2, 3], label='Line 1')
p2, = plt.plot([3, 2, 1], label='Line 2')
plt.legend(handles=[p1, p2], title='title', bbox_to_anchor=(1.05, 1), loc='upper left', prop=fontP)
- 如Mateen Ulhaq所述,
fontsize='xx-small'
也有效,无需导入FontProperties
。
plt.legend(handles=[p1, p2], title='title', bbox_to_anchor=(1.05, 1), loc='upper left', fontsize='xx-small')
相关文章