(matplotlib) Plot yerr / xerr as a shaded area, not error bars

In matplotlib, how do I construct an error as a shaded area, not an error?

For example:

http://qhwiki.originlab.com/~originla/howto/images/c/cc/Error_Bars_with_Fill_Area_01.png

Instead

+55
python matplotlib
Oct 18 '12 at 14:20
source share
2 answers

Ignoring the smooth interpolation between the points of your example graph (which requires some manual interpolation or just having a higher resolution of your data), you can use pylab.fill_between() :

 from matplotlib import pyplot as pl import numpy as np x = np.linspace(0, 30, 30) y = np.sin(x/6*np.pi) error = np.random.normal(0.1, 0.02, size=y.shape) y += np.random.normal(0, 0.1, size=y.shape) pl.plot(x, y, 'k-') pl.fill_between(x, y-error, y+error) pl.show() 

enter image description here

See also examples of matplotlib .

+63
Oct 18 '12 at 15:44
source share

This is basically the same answer provided by Evert , but expanded to show some interesting fill_between options

enter image description here

 from matplotlib import pyplot as pl import numpy as np pl.clf() pl.hold(1) x = np.linspace(0, 30, 100) y = np.sin(x) * 0.5 pl.plot(x, y, '-k') x = np.linspace(0, 30, 30) y = np.sin(x/6*np.pi) error = np.random.normal(0.1, 0.02, size=y.shape) +.1 y += np.random.normal(0, 0.1, size=y.shape) pl.plot(x, y, 'k', color='#CC4F1B') pl.fill_between(x, y-error, y+error, alpha=0.5, edgecolor='#CC4F1B', facecolor='#FF9848') y = np.cos(x/6*np.pi) error = np.random.rand(len(y)) * 0.5 y += np.random.normal(0, 0.1, size=y.shape) pl.plot(x, y, 'k', color='#1B2ACC') pl.fill_between(x, y-error, y+error, alpha=0.2, edgecolor='#1B2ACC', facecolor='#089FFF', linewidth=4, linestyle='dashdot', antialiased=True) y = np.cos(x/6*np.pi) + np.sin(x/3*np.pi) error = np.random.rand(len(y)) * 0.5 y += np.random.normal(0, 0.1, size=y.shape) pl.plot(x, y, 'k', color='#3F7F4C') pl.fill_between(x, y-error, y+error, alpha=1, edgecolor='#3F7F4C', facecolor='#7EFF99', linewidth=0) pl.show() 
+69
Oct 31 '12 at 12:27
source share



All Articles