1

在这种情况下,图例标签来自 txt 文件,'\n'末尾有一个字符。运行此代码段:

lines = np.array([[1,1],[2,2],[3,3]])
plt.rc('font', size=10.)
for i, line in enumerate(lines):
    plt.plot(range(2), line, label='line number ' + str(i) +'\n')
plt.ylim(0,4)
plt.legend()
plt.show()

Matplotlib 1.2.11.3.0你会得到不同的传说:

  • Matplotlib 1.2.1在此处输入图像描述

  • Matplotlib 1.3.0 在此处输入图像描述

4

1 回答 1

1

在 Matplotlib 1.3.0 中继续使用相同算法的解决方案很简单,只需strip()在将图例标签传递给之前添加一个调用plt.plot()

label_from_txt_file = label_from_txt_file.strip()
plt.plot(range(2), line, label=label_from_txt_file)

它将删除'\n'字符并避免行/文本错位。

于 2013-08-30T16:32:41.890 回答