Python matplotlib中不同颜色的错误条

Python matplotlib中不同颜色的错误条,python,matplotlib,Python,Matplotlib,我有以下代码,它生成了一个包含垂直和水平错误条的简单图形: #!/usr/bin/python # -*- coding: utf-8 -*- import pylab as pl import matplotlib.pyplot as plt x=[2,3] error_x=[0.5,0.4] y=[25,28] error_y=[0.6,0.8] lines={'linestyle': 'None'} plt.rc('lines', **lines) pl.plot(x, y, 'ro'

我有以下代码,它生成了一个包含垂直和水平错误条的简单图形:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import pylab as pl
import matplotlib.pyplot as plt

x=[2,3]
error_x=[0.5,0.4]
y=[25,28]
error_y=[0.6,0.8]
lines={'linestyle': 'None'}
plt.rc('lines', **lines)
pl.plot(x, y, 'ro', markersize=6)
pl.errorbar(x, y, xerr=error_x, yerr=error_y, fmt='b')
pl.xlim(1.3,3.6)
pl.ylim(24.0,29.0)
pl.show()

但是,两个错误条(垂直和水平)都是蓝色的,我不知道如何为它们指定不同的颜色。这可能吗?例如,我希望所有水平错误条为蓝色,所有垂直错误条为绿色。

使用
ecolor
关键字:

import pylab as pl
import matplotlib.pyplot as plt

x=[2,3]
error_x=[0.5,0.4]
y=[25,28]
error_y=[0.6,0.8]
lines={'linestyle': 'None'}
plt.rc('lines', **lines)
pl.plot(x, y, 'ro', markersize=6)
el = pl.errorbar(x, y, xerr=error_x, yerr=error_y, fmt='b', ecolor='yellow')
pl.xlim(1.3,3.6)
pl.ylim(24.0,29.0)
pl.show()
输出:

不同颜色线,每个条和每个方向:

import pylab as pl
import matplotlib.pyplot as plt

x=[2,3]
error_x=[0.5,0.4]
y=[25,28]
error_y=[0.6,0.8]
lines={'linestyle': 'None'}
plt.rc('lines', **lines)
pl.plot(x, y, 'ro', markersize=6)
el = pl.errorbar(x, y, xerr=error_x, yerr=error_y, fmt='b', ecolor=['yellow','blue'])
elines = el.get_children()
elines[1].set_color('green')
pl.xlim(1.3,3.6)
pl.ylim(24.0,29.0)
pl.show()
输出:

对于使用较旧matplotlib版本的人来说,还有一个“窍门”:

import pylab as pl
import matplotlib.pyplot as plt

x=[2,3]
error_x=[0.5,0.4]
y=[25,28]
error_y=[0.6,0.8]
lines={'linestyle': 'None'}
plt.rc('lines', **lines)
pl.plot(x, y, 'ro', markersize=6)
pl.errorbar(x, y, xerr=error_x, yerr=0, fmt='b', ecolor='b')
pl.errorbar(x, y, xerr=0, yerr=error_y, fmt='g', ecolor='g')
pl.xlim(1.3,3.6)
pl.ylim(24.0,29.0)
pl.show()

但在这种情况下,水平和垂直误差条都是黄色的。。。我希望水平误差条是一种颜色,垂直误差条是另一种颜色。有可能吗?人力资源部。。让我查一查。@WildFeather哇。是 啊看看这个,也许是matplotlib版本?我在“2.1.0”上,我刚刚想出了另一种方法,它可以与较旧的Python版本一起使用,并将其作为一个答案发布。您的在Python 3中运行良好。再次感谢你!相关的: