扩展轴外图例的图形框
将图例移到轴外通常会导致图形框太小而无法容纳传说的大小。缩小轴并不理想,因为它会减小绘图大小,从而更难以解释复杂的数据。
动态调整图形框大小
要解决此问题,可以动态调整图形框的大小以适合图例。这可以通过使用以下参数修改 savefig() 调用来实现:
代码示例
考虑以下代码:
<code class="python">import matplotlib.pyplot as plt import numpy as np # Construct a plot with a legend 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') # Save the figure with the adjusted bounding box fig.savefig('samplefigure', bbox_extra_artists=(lgd,), bbox_inches='tight')</code>
输出
此代码将创建一个在轴外带有图例的图,并且图形框将扩展以容纳图例。还可以在 bbox_extra_artists 参数中包含其他艺术家,例如文本标签。
简化的命令
在 Matplotlib 的最新版本中,该命令已被简化。要保存具有紧密边界框的图形,只需要以下参数:
<code class="python">plt.savefig('x.png', bbox_inches='tight')</code>
以上是如何在 Matplotlib 中扩展图形框以容纳轴外的图例?的详细内容。更多信息请关注PHP中文网其他相关文章!