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
> [email protected]
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-users