2013-05-27 172 views
3

我正在尝试绘制一个errorbar图,其中每个错误栏可以是红色或绿色,具体取决于用于计算条的统计信息是否显着。
我尝试使用颜色数组作为c参数的输入,但这并不奏效。使用不同颜色为每个错误条颜色

有谁知道该怎么做?

下面是代码,我到目前为止有:

yerrs = np.array([quantiles[:,2],quantiles[:,3]]) 
print yerrs.shape 
colors = ['r', 'b'] * (yerrs.shape[1]/2) 
fig, axes = plt.subplots(nrows=2, sharex=True, sharey=True) 
axes[0].errorbar(quantiles[:,0],quantiles[:,1], yerr=yerrs, c=colors) 
axes[0].axhline(0, color='black') 
axes[0].axvline(0, color='black') 
axes[0].set_title('Fitted dist') 

然后我得到的错误:

ValueError: to_rgba: Invalid rgba arg "['r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b', 'r', 'b']" 
could not convert string to float: r 
+0

刚刚添加我的代码 – user1094206

回答

5

单独的数据阵列分成两组,并使用“易彩”指定errorbar颜色。

axes[0].errorbar(x1, y1, yerr=yerr1, ecolor="r") 
axes[0].errorbar(x2, y2, yerr=yerr2, ecolor="b") 

如何将数据分成部分1和2应该是微不足道的给你,但让我知道,如果你是不确定的。

+0

谢谢!这几乎正​​是我想要做的,除了连接点的线对于每个图是分开的。如果他们可以在同一条线上,会很棒。 – user1094206

+0

@ user1094206不确定你的意思是什么---你希望它们在同一行上,然后使用相同的x和y而不是x1/2和y1/2来绘制它们。 – nye17