将matplotlib图例移到轴外使其被图框切断
我熟悉以下问题: Matplotlib savefig在图外带有图例 如何将图例排除在情节之外 这些问题的答案似乎很奢侈,它能够摆弄轴的确切收缩,以使图例适合。 但是,缩小轴并不是一个理想的解决方案,因为它会使数据变小,从而实际上更难以解释。特别是当它复杂并且有很多事情要发生时...因此需要一个大的传说 文档中复杂图例的示例说明了此需求,因为其图中的图例实际上完全遮盖了多个数据点。 http://matplotlib.sourceforge.net/users/legend_guide.html#legend-of-complex-plots 我想做的是动态扩展图形框的大小,以适应扩展的图形图例。 import matplotlib.pyplot as plt import numpy as np x = np.arange(-2*np.pi, 2*np.pi, 0.1) fig = plt.figure(1) ax = fig.add_subplot(111) ax.plot(x, np.sin(x), label='Sine') ax.plot(x, np.cos(x), label='Cosine') ax.plot(x, np.arctan(x), label='Inverse tan') lgd = ax.legend(loc=9, bbox_to_anchor=(0.5,0)) ax.grid('on') 请注意,最终标签“ Inverse tan”实际上是如何位于图形框之外的(看起来很不完整-而不是出版物质量!) 最后,有人告诉我这是R和LaTeX中的正常行为,所以我有些困惑,为什么在python中如此困难……是否有历史原因?Matlab在这件事上是否同样贫穷? 我在pastebin http://pastebin.com/grVjc007上有(仅略长)此代码的较长版本