Python matplotlib图例中的选择性垂直空白

Python matplotlib图例中的选择性垂直空白,python,matplotlib,legend,Python,Matplotlib,Legend,我试图在使用matplotlib.pyplot生成的图例中创建一些额外的垂直空白。但是,您希望此额外的空白仅位于图例中的两个条目之间,而其余条目保持不变。我有一个MWE和它生成的图像,经过编辑以显示我想要额外空白的地方 import matplotlib.pyplot as plt plt.plot([0,1],[.2,.2],label = "A") plt.plot([0,1],[.4,.4],label = "B") plt.plot([0,1],[.6,.6],label = "C")

我试图在使用
matplotlib.pyplot
生成的图例中创建一些额外的垂直空白。但是,您希望此额外的空白仅位于图例中的两个条目之间,而其余条目保持不变。我有一个MWE和它生成的图像,经过编辑以显示我想要额外空白的地方

import matplotlib.pyplot as plt

plt.plot([0,1],[.2,.2],label = "A")
plt.plot([0,1],[.4,.4],label = "B")
plt.plot([0,1],[.6,.6],label = "C")
plt.plot([0,1],[.8,.8],label = "D")

plt.legend(loc='upper right',labelspacing=.3)
plt.ylim(0,1)

plt.show()

您可能必须为此使用代理艺术家。以下是一个例子:

a, = plt.plot([0,1],[.2,.2],label = "A")
b, = plt.plot([0,1],[.4,.4],label = "B")
c, = plt.plot([0,1],[.6,.6],label = "C")
d, = plt.plot([0,1],[.8,.8],label = "D")

plt.legend([a,b,c,matplotlib.lines.Line2D([],[],linestyle=''),d],['A','B','C','','D'], loc='upper right',labelspacing=.3)
plt.ylim(0,1)

您可以在标签中使用
\n

请注意,标签位于标记的中心,因此请使用2
\n

plt.plot([0,1],[.6,.6],label = "\nC\n")

当我使用你的代码时,我会在我的图例周围得到一个框(这很好,我想要这个框)。为什么您的图像在图例周围没有一个方框,尽管代码相同?可能是matplotlibrc文件的不同