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

Reply via email to