Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.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 我如何修复绘图和图例之间的空间,以便新文本不会';你不能改变间隔吗?_Python_Matplotlib_Plot_Legend - Fatal编程技术网

Python 我如何修复绘图和图例之间的空间,以便新文本不会';你不能改变间隔吗?

Python 我如何修复绘图和图例之间的空间,以便新文本不会';你不能改变间隔吗?,python,matplotlib,plot,legend,Python,Matplotlib,Plot,Legend,更具体地说,如何固定绘图和图例之间的间距,以便如果包含更多文本,图例不会与绘图重叠 例如,如果你看下面的图,当我在第一个图例条目中添加更多的文本,从“现在回到”(图1)到“让我们打破胡”(图2)——图例延伸到左侧,开始覆盖该图 有没有办法使情节和图例之间的间隔保持固定?因此,当有更多文本时,图形会向右延伸,而不是延伸到绘图本身 , 用于图例的代码: lgd = ax.legend( patches, lgnd, loc="center right", bbox_to_anchor=(1.

更具体地说,如何固定绘图和图例之间的间距,以便如果包含更多文本,图例不会与绘图重叠

例如,如果你看下面的图,当我在第一个图例条目中添加更多的文本,从“现在回到”(图1)到“让我们打破胡”(图2)——图例延伸到左侧,开始覆盖该图

有没有办法使情节和图例之间的间隔保持固定?因此,当有更多文本时,图形会向右延伸,而不是延伸到绘图本身

,

用于图例的代码:

    lgd = ax.legend( patches, lgnd, loc="center right", bbox_to_anchor=(1.25, 0.5), prop=font )

你要寻找的部分答案取决于你是如何创造传奇并将其放在首位的。这就是为什么人们强调“

为了给您一个简单的介绍,您可以使用
bbox\u To\u anchor
进行控制,它接受浮点元组。由于您希望将图例放在右侧,我建议使用
bbox\u to\u anchor
loc=2
。此设置来自
bbox\u变换
。一种简单的理解方法是:
bbox\u to\u锚定
定义图例框角的相对位置,以及4的哪个角由
loc
定义

在下面的示例中,它将图例框的“左上角”放在
(1,1)
处,它是绘图的右上角(
(0,0)
是绘图的“左下角”)。为了清楚起见,我将
borderaxespad
设置为
0

import matplotlib.pyplot as plt

plt.plot([1,2,3], label="test1")
plt.legend(bbox_to_anchor=(1, 1), loc=2, borderaxespad=0.)

plt.show()

您要寻找的答案的一部分取决于您如何制作图例并将其放在首位。这就是为什么人们强调“

为了给您一个简单的介绍,您可以使用
bbox\u To\u anchor
进行控制,它接受浮点元组。由于您希望将图例放在右侧,我建议使用
bbox\u to\u anchor
loc=2
。此设置来自
bbox\u变换
。一种简单的理解方法是:
bbox\u to\u锚定
定义图例框角的相对位置,以及4的哪个角由
loc
定义

在下面的示例中,它将图例框的“左上角”放在
(1,1)
处,它是绘图的右上角(
(0,0)
是绘图的“左下角”)。为了清楚起见,我将
borderaxespad
设置为
0

import matplotlib.pyplot as plt

plt.plot([1,2,3], label="test1")
plt.legend(bbox_to_anchor=(1, 1), loc=2, borderaxespad=0.)

plt.show()

好的,对不起。这是用来制作图例的代码。”lgd=ax.legend(补丁,lgnd,loc=“中右方”,bbox\u to_锚=(1.25,0.5),prop=font)@Kebur Fantahun如果可能并与您的其他代码兼容,您可以使用
lgd=ax.legend(补丁,lgnd,loc=“中左方”,bbox\u to_锚=(1,0.5),prop=font)
。这可以使图例垂直居中,并使一个焊盘远离绘图。如果您对pad不满意,请将
1
更改为其他值。好的,抱歉。这是用来制作图例的代码。”lgd=ax.legend(补丁,lgnd,loc=“中右方”,bbox\u to_锚=(1.25,0.5),prop=font)@Kebur Fantahun如果可能并与您的其他代码兼容,您可以使用
lgd=ax.legend(补丁,lgnd,loc=“中左方”,bbox\u to_锚=(1,0.5),prop=font)
。这可以使图例垂直居中,并使一个焊盘远离绘图。如果您对pad不满意,请将
1
更改为其他值。请特别参阅“后处理”小节。如果您在实施任何解决方案时遇到特定问题,请更新您的问题。请特别参阅“后处理”小节。如果您在实施任何解决方案时遇到特定问题,请更新您的问题。