Thank you, Mike.

On Wednesday 09 January 2008 04:36:21 pm Michael Droettboom wrote:
> I have something that works in r4833.  It requires a clean rebuild,
> since the change was only to a header file.  It produces no measurable
> slowdown on my fps test.  (Of course, Eric's suggestion probably
> wouldn't have either...)
>
> Please let me know how this works for you.
>
> The nice thing about the new implementation is that it is in common
> code, so all backends should support NaNs (whereas before it was only
> Agg, Ps and Pdf).  It does, curiously, also work on polygons etc. (the
> NaN-containing vertices are skipped), which doesn't make a whole lot of
> sense, but it's actually harder not to do that.  IMHO, if you're putting
> NaNs in polygons you're asking for trouble anyway...  If you are, speak
> up now... ;)
>
> Cheers,
> Mike
>
> Michael Droettboom wrote:
> > I think this is an oversight on my part when doing the rewrite.  The old
> > trunk had special code to deal with NaNs in draw_lines (in some
> > backends, but not all).  Since draw_lines disappeared (it was replaced
> > with draw_path), this functionality fell through the cracks.  I think
> > somehow bringing the old solution over (without the backend dependence)
> > may be faster than what Eric is proposing, since it is done "on-the-fly"
> > in C (at least for Agg) and doesn't require allocating any more memory
> > for the mask.
> >
> > However, it feels a bit dirty on a gut level to allow two subtly
> > different ways to specify data with gaps.  I almost lean toward forcing
> > the user to provide masked arrays if that's what they want to do -- but
> > that's probably not realistic.  I think Darren is right -- sometimes
> > NaN's come up when you least expect them, after many other data sets and
> > plots have already worked, and it would be bad for the app to suddenly
> > just fail in that case.
> >
> > I'll look into bringing the old way over to the new code.  Failing that,
> > I think Eric's suggestion is quite reasonable.
> >
> > Cheers,
> > Mike
> >
> > Eric Firing wrote:
> >> Darren Dale wrote:
> >>> It looks like the new transforms codebase does not support data that
> >>> contains NaNs the way the old trunk did:
> >>>
> >>> plot([1,2,NaN,4,5]) produces a plot with no line break
> >>> plot([NaN,2,3,4,5]) produces a plot with no line
> >>>
> >>> I know use of NaN's is not encouraged, and we have discussed it on this
> >>> list. But since they are sometimes unintended and unavoidable, I'm
> >>> reporting the behavior so people are not surprised when they get an
> >>> empty plot.
> >>>
> >>> Darren
> >>
> >> This comes up often enough that it might be worth doing automatic
> >> masking of NaNs in the high-level argument processing wherever we are
> >> now doing x=npy.ma.asarray(x) or similar.  The calls could be replaced
> >> with x=npy.ma.masked_where(~npy.isfinite(x),x) I have resisted adding
> >> this overhead, but now I think the overhead might be negligible in
> >> almost all cases.  It looks like it would be on the order of
> >> milliseconds per high-level call, where by high-level call I mean plot,
> >> pcolor, quiver, etc. (either via pylab or Axes method).
> >>
> >> Eric
> >>
> >> ------------------------------------------------------------------------
> >>- Check out the new SourceForge.net Marketplace.
> >> It's the best place to buy or sell services for
> >> just about anything Open Source.
> >> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketp
> >>lace _______________________________________________
> >> Matplotlib-devel mailing list
> >> Matplotlib-devel@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel



-- 
Darren S. Dale, Ph.D.
Staff Scientist
Cornell High Energy Synchrotron Source
Cornell University
275 Wilson Lab
Rt. 366 & Pine Tree Road
Ithaca, NY 14853

[EMAIL PROTECTED]
office: (607) 255-3819
fax: (607) 255-9001
http://www.chess.cornell.edu

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to