I don't believe fill_between directly supports missing values -- but it does have the where parameter for this purpose.
We could also be smarter about how "where" is generated when none is provided: if where is None: where = (~np.ma.getmaskarray(x) & ~np.ma.getmaskarray(y1) & ~np.ma.getmaskarray(y2)) ...but I'd like more feedback from the author or users of fill_between before committing that change. (That, and Eric Firing can probably find a much more efficient way to do the masked array manipulation... ;) Mike Andres Luhamaa wrote: > Hello, > I try to do fill_between two arrays, that have missing value (masked > arrays). Following code shows behaviour that seems not correct. Images > what I expect the result to be (by omitting the missing value) and > what I get by plotting the whole arrays. > > import pylab > import numpy as np > edatmax=np.array([10,4,6,9,np.nan,9,10]) > edatmax=np.ma.masked_array(edatmax,np.isnan(edatmax)) > edatmin=np.array([8,4,5,1,np.nan,8,5]) > edatmin=np.ma.masked_array(edatmin,np.isnan(edatmin)) > xtelg=np.arange(edatmax.size) > xtelg=np.ma.masked_array(xtelg,np.isnan(edatmin)) > pylab.plot(edatmax,"gx") > pylab.plot(edatmin,"r+") > # comment out to see better > pylab.fill_between(xtelg,edatmax,edatmin,facecolor='green',alpha='0.3') > # comment in to see better > #pylab.fill_between(xtelg[:4],edatmax[:4],edatmin[:4],facecolor='green',alpha='0.3') > > > #pylab.fill_between(xtelg[5:],edatmax[5:],edatmin[5:],facecolor='green',alpha='0.3') > > > pylab.show() > > Version of matplotlib is current cvs. > > Best regards, > Andres > > ------------------------------------------------------------------------ > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > Register Now & Save for Velocity, the Web Performance & Operations > Conference from O'Reilly Media. Velocity features a full day of > expert-led, hands-on workshops and two days of sessions from industry > leaders in dedicated Performance & Operations tracks. Use code vel09scf > and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf > ------------------------------------------------------------------------ > > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA ------------------------------------------------------------------------------ Register Now & Save for Velocity, the Web Performance & Operations Conference from O'Reilly Media. Velocity features a full day of expert-led, hands-on workshops and two days of sessions from industry leaders in dedicated Performance & Operations tracks. Use code vel09scf and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users