G'day all!
I'm back to using matplotlib after a few months away. I'm very impressed with the recent progress!
I often plot the instantaneous variance of repeated recordings made under the same conditions using a shaded area to surround the mean. I'm trying to find a way to do this with matplotlib. Included below is a "filly" (fill y) function I wrote to attempt to do this. It doesn't quite work yet, and I'd like some help. (BTW, I don't know of how this would be done in Matlab, so if there's a more compatible way, I'd be happy to change the approach.)
1) How do I make the data fill the axes automatically, such as the "plot" function?
2) Is it a bug that the polygon is not filled, or am I missing something?
I've only tried this in the PS backend -- I'm having troubles with the others at the moment. Also, this is using the version of matplotlib I checked out with CVS. This version fails to build the agg backend with:
running build_py
package init file 'ttfquery/__init__.py' not found (or not a regular file)
package init file 'FontTools/__init__.py' not found (or not a regular file)
package init file 'FontTools/fontTools/__init__.py' not found (or not a regular file)
package init file 'FontTools/fontTools/encodings/__init__.py' not found (or not a regular file)
error: package directory 'FontTools/fontTools/misc' does not exist
Cheers!
Andrew
-=-=-=-=-=-=-= filly.py -=-=-=-=-=-=-=-=
from matplotlib.matlab import *
from matplotlib.patches import Rectangle, Polygon
def filly(x,y1,y2,**kwargs):
ax = gca()
xy = []
for xi, yi in zip(x,y1):
xy.append( (xi,yi) )
for xi, yi in zip(x[::-1],y2[::-1]):
xy.append( (xi,yi) )
xy.append( xy[0] )
polygon = Polygon(
ax.dpi, ax.bbox,
xy,
transx = ax.xaxis.transData, # what does this do?
transy = ax.yaxis.transData, # and this??
**kwargs)
ax.add_patch(polygon)
return polygon
figure(1)
t = arange(0.0, 1.0, 0.01)
s_mean = 0.5*sin(2*2*pi*t)
s_lo = s_mean-0.1
s_hi = s_mean+0.1
#plot(t,s_mean,'k')
filly(t,s_lo,s_hi,fill=1,facecolor='g')
gca().xaxis.autoscale_view() # why doesn't this help?
gca().yaxis.autoscale_view()
savefig('filly')
#show()
PGP.sig (155 Bytes)