matplotlib一个传奇条目太多了

时间:2016-04-13 12:09:02

标签: python matplotlib plot legend errorbar

我正在尝试使用python 2.7中的不同标记颜色进行错误绘制。此外,我还包括线图。 我在这里找到了一种方法:matplotlib errorbar plot - using a custom colormap使用颜色的散点图和条形的errorbar()。

正如您在我的示例代码中看到的那样,在图例中我总是得到一个条目太多(仅在顶部)。我想不通,为什么。试图排除它,这是行不通的。没有找到有用的东西,因为我无法真正称之为第一个传奇条目。

有什么想法吗?

这是我的代码:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

%matplotlib inline


data = pd.DataFrame()
data['x'] = range(10)
data['y'] = data.x
data['err'] = .5
data['col'] = np.where(data.y<5,'r','b')

### setup 1-1 line
lin = pd.DataFrame()                            # setting 1-1 line
lin['x'] = range(10)
lin['y'] = range(10)

### setup 1-2 line
lin['x2'] = lin.x
lin['y2'] = lin.y

plt.errorbar(data.x, data.y, yerr = data.err, \
                   xerr = .3, fmt=' ', markersize=4, zorder = 1)
plt.scatter(data.x,data.y, marker='o', color = data.col, zorder = 2)
plt.plot(lin.x,lin.y,'g-')
plt.plot(lin.x2,1.8*lin.y2,'r-')
plt.legend(['','1-1 line', '1-1.8 line','holla','molla'], loc=4)

我得到的是:

enter image description here

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

为了清理这一切,我发布了一个正确的答案而不是评论。 将matplotlib从1.3.1升级到1.5.1可以解决这个问题。很简单。