首先填充matplotlib图例的右列
问题内容:
嘿,我正在尝试将图例拟合到图上,以免模糊图。
import numpy as np
import matplotlib.pyplot as plt
X = np.linspace(0,100,11)
plt.plot(X,-X, label='plot 1')
plt.plot(X,-2*X, label='plot 2')
plt.plot(X,-3*X, label='plot 3')
leg=plt.legend(ncol=2)
leg.get_frame().set_visible(False)
plt.show()
因此,在上面的最小工作示例中,我想做的就是将图例中的“图2”标签移到右列,即直接在“图3”下。
任何帮助,将不胜感激,谢谢。
问题答案:
图例从左到右填充在列中。换句话说,如果您诱使它认为还有另一行(图例中没有任何文本或线条颜色),则可以填充“图3”下的空间。
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
X = np.linspace(0,100,11)
plt.plot(X,-X, label='plot 1', color='red')
plt.plot(X,-2*X, label='plot 2', color='green')
plt.plot(X,-3*X, label='plot 3', color='blue')
line1 = Line2D(range(10), range(10), marker='', color="red")
line2 = Line2D(range(10), range(10), marker='',color="green")
line3 = Line2D(range(10), range(10), marker='', color="blue")
line4 = Line2D(range(10), range(10), marker='', color="white")
plt.legend((line1,line4, line3,line2),('plot1','','plot3','plot2'),numpoints=1, loc=4,ncol=2)
plt.show()