Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.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
Matplotlib 查找第二个图例框的最佳位置_Matplotlib - Fatal编程技术网

Matplotlib 查找第二个图例框的最佳位置

Matplotlib 查找第二个图例框的最佳位置,matplotlib,Matplotlib,对于我正在自动化的一组子地块,空间是一个额外的条件,其中有时一个子地块中有许多曲线。我想将图例拆分为两个框,然后优化第二个图例框的位置。第一个图例框的位置由loc='best'提供 下面是一个简单的例子,演示了我的尝试- lines = [] leg = ['test','test1','test2'] lines.append(plot(np.array([1,20]), label = 'test')[0]) lines.append(plot(np.array([1,20]), labe

对于我正在自动化的一组子地块,空间是一个额外的条件,其中有时一个子地块中有许多曲线。我想将图例拆分为两个框,然后优化第二个图例框的位置。第一个图例框的位置由loc='best'提供

下面是一个简单的例子,演示了我的尝试-

lines = []
leg = ['test','test1','test2']

lines.append(plot(np.array([1,20]), label = 'test')[0])
lines.append(plot(np.array([1,20]), label = 'test1')[0])
lines.append(plot(np.array([1,20]), label = 'test2')[0])
pltleg1 = plt.legend(lines[:2],leg[:2],loc='best')

# QUESTION: Here I want to put the second legend in the 2nd best location
# or if I could get the location decided upon for pltleg1, I can just add it
# the opposite corner.
pltleg2 = plt.legend(lines[2:],leg[2:],loc='best') 

gca().add_artist(pltleg1)

因此,我希望找到第二个最好的位置,或者如果我能检索到所选的图例位置,那么选择一个替代位置就可以了。对于第二种情况,如果有曲线重叠就可以了。如何做到这一点?

如果有用,pltleg1.get_bbox_to_anchor Docstring:返回图例将被锚定的bbox。然后,您应该能够使用bbox_to_锚来使用此信息,如图所示。您能否与plt的使用保持一致。?我建议您在绘图和gca之前添加它