在pylab图例中设置标签的位置

时间:2017-06-20 13:13:25

标签: python matplotlib

我刚开始学习python,所以如果代码不合适,请告诉我。

我在情节的传奇中得到了一小部分。但由于标签的位置没有变化,看起来很奇怪: Plot example

关于这个情节的我的代码如下:

datalist = [(np.loadtxt(filename, skiprows=1), label) for filename,label in list_of_files]

for data, label in datalist:
pylab.errorbar(abs(data[:,0]), abs(data[:,3]), yerr = data[:,4], fmt = 'o', label=r'$\frac{U_1+U_2}{2}$')

legend = pylab.legend(loc = 2, numpoints = 1)
frame = legend.get_frame()
frame.set_facecolor('0.95')
pylab.xlabel(r'I$\,$[$\mathrm{\mu}$A]')
pylab.ylabel('U [V]')
pylab.ylim([0,0.1])
pylab.show()

我使用了范围,因为绘图中的不同文件会有更多的值,我只是想在添加其他数据之前修复标签的位置。

如何更改图例中标签的位置?

1 个答案:

答案 0 :(得分:0)

也许你可以尝试类似下面的内容。在stackoverflow上找到另一个答案!

# Create legend
plt.plot(x, y, label = 'label_name')
leg = plt.legend( loc = 'upper right')

plt.draw() # Draw the figure so you can find the positon of the legend. 

# Get the bounding box of the original legend
bb = leg.get_bbox_to_anchor().inverse_transformed(ax.transAxes)

# Change to location of the legend. 
xOffset = 1.5
bb.x0 += xOffset
bb.x1 += xOffset
leg.set_bbox_to_anchor(bb, transform = ax.transAxes)


# Update the plot
plt.show()

转到此处获取更多信息:Move and resize legends-box in matplotlib