0

我正在尝试在 python 2.7 中使用不同的标记颜色做一个错误图。此外,我还包括线图。我在这里找到了一种方法:matplotlib errorbar plot - 使用自定义颜色图,使用散点图表示颜色,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)

我得到的是:

在此处输入图像描述

谢谢你的帮助!

4

1 回答 1

0

为了清理整个事情,我发布了一个正确的答案而不是评论。该问题可以通过将 matplotlib 从 1.3.1 升级到 1.5.1 来解决。就这么简单。

于 2016-04-13T13:31:51.153 回答