我有下面的代码,它生成了一个包含垂直和水平误差条的简单图形:
#!/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()
输出: