Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如果指定了“bbox\u to\u anchor”,则从保存的图像中剪切的元素_Python 3.x_Matplotlib - Fatal编程技术网

Python 3.x 如果指定了“bbox\u to\u anchor”,则从保存的图像中剪切的元素

Python 3.x 如果指定了“bbox\u to\u anchor”,则从保存的图像中剪切的元素,python-3.x,matplotlib,Python 3.x,Matplotlib,考虑一个简单的场景: 导入matplotlib.pyplot作为plt 图,ax=plt.子批次() ax.plot([0,1],[0,1],label='Line') lgd=图图例(bbox_至_锚=(0.2,-1,1,0),位置=左下角') fig.savefig('figure.png',bbox_extra_美工=(lgd,),bbox_inches='tight') 这样可以保存图形,bbox\u extra\u美工人员可以在底部留出更多空间,但不会打印图例。 仅当我尝试在bbox

考虑一个简单的场景:

导入matplotlib.pyplot作为plt
图,ax=plt.子批次()
ax.plot([0,1],[0,1],label='Line')
lgd=图图例(bbox_至_锚=(0.2,-1,1,0),位置=左下角')
fig.savefig('figure.png',bbox_extra_美工=(lgd,),bbox_inches='tight')
这样可以保存图形,
bbox\u extra\u美工人员
可以在底部留出更多空间,但不会打印图例。 仅当我尝试在
bbox\u to\u anchor
中指定
[0,1]
之外的值时才会发生这种情况,例如,如果我希望图例位于右上方


有关于为什么会发生这种情况的提示吗?

的“紧密”计算中出现了一些奇怪的情况。这一现象的根本原因尚不清楚

目前,您可以创建轴图例,并将其放置在地物坐标中

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot([0,1], [0,1], label = 'Line')

lgd = ax.legend(loc='lower left', 
                bbox_to_anchor=(0.2, -1, 1., 0),  bbox_transform=fig.transFigure)
fig.savefig('figure.png', bbox_inches='tight')

这太令人失望了,不过谢谢你指出这一点。axis图例的问题是,在我的实际场景中,axis框架将与图例重叠。我会设法找到解决办法的。不,不会的。请注意,在上面的示例中,图例正好位于您定义它的位置以及预期显示它的位置。使用轴图例的唯一问题是,如果您有多个子图,并且希望图形图例在单个图例中显示其所有标签。如果是这种情况,您需要在所有轴上循环并收集手柄和标签,然后将它们提供给图例。我已经这样做了,我的意思是轴框架的
zorder
总是优先于图例。所以我得到了传说,然后是上面的情节。当然,我可以把它移开,但这确实发生了(除非我做了一些非常愚蠢的事情——很有可能)编辑:没关系,我正是这么做的:愚蠢的;-)