a writes:
> Michael Droettboom <md...@...> writes:
> >
> > Thanks for the pointers.
> >
> > The original simplification code was written by John Hunter (I believe),
> > and I don't know if it was designed by him also or is a replication of
> > something published elsewhere.  So I take no credit for and have little
> > knowledge of its original goals.
>
> I'm not sure on everything it does, but it seems to do clipping and removes
> line segments where the change in slope is less than some limit. There are
> probably better algorithms out there, but this one works surprisingly well
> and is fast and simple. I think it should be a requirement that it returns
> points which are a subset of the original points- with the change you've
> made it does this, right?

Oh Hey! I'm the one who originally wrote the path simplification code. I'd
have thought it would be gone by now, but I am very happy it turned out to
be useful. I made it up in order to plot a very large set of noisy data I
had.

The goal was to simplify two types of plots at once: Smooth curves, as
well as very noisy data where many lines are 'on top' of each other. (eg
plot(rand(100000)) ). I noticed both could be taken care of by checking
for changes in slope.

An important goal (for me) was making sure that the min/max span of the
points plotted was preserved. (so that eg plot(rand(1000)) spans from the
lowest to highest point in the data (ie ~ 0 to 1) for any zoom factor).
I'm not sure if this property survived...: If you do plot(rand(1000)) with
the latest matplotlib and gradually zoom out on the x axis, you can see
the top/bottom tips of the plotted line flickering in height, which is
what I was trying to avoid. I forget whether I actually got it as I wanted
it though, maybe I gave up.

Allan




------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to