【发布时间】:2015-02-08 04:51:50
【问题描述】:
现在默认情况下,matplotlib 图例位于我所有子图的右上角(比如一组 3 个水平乘以 3 个垂直)。
然而,在某些情况下,图例会掩盖一些趋势线,所以我想将图例定位在子图本身的上方,这可能吗?
【问题讨论】:
标签: python matplotlib pandas legend prettyplotlib
现在默认情况下,matplotlib 图例位于我所有子图的右上角(比如一组 3 个水平乘以 3 个垂直)。
然而,在某些情况下,图例会掩盖一些趋势线,所以我想将图例定位在子图本身的上方,这可能吗?
【问题讨论】:
标签: python matplotlib pandas legend prettyplotlib
图例的位置是使用legend 的loc 参数指定的。您可以尝试使用'best' 选项,看看它是否能避开线条。如果您想将图例框放置在绘图区域之外,可以查看legend guide 中描述的技术。
这是一个 3×3 的子图网格,在图的右上角有一个图例:
import matplotlib.pyplot as plt
for i in range(9):
plt.subplot(3, 3, i+1)
plt.plot([0, 1], [0, 1])
plt.subplot(3, 3, 3)
plt.legend(['test'], bbox_to_anchor=(0, 1, 1, 0.5), mode='expand')
plt.tight_layout()
【讨论】: