Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo
Close
From: Will Grover <wgrover@mi...>  20090526 21:39:06

Hello matplotlib users, I'm using matplotlib to plot some large data sets (1 million x,y pairs) and I've noticed that, when zoomed out to view the whole plot, it looks as if only every Nth point is being plotted, maybe in an attempt to improve plotting performance in complex plots. When I zoom in I can see points that were clearly missing in the zoomedout view. Is there any way to override this so that the plot really does show all the points, regardless of zoom? I've included my really simple plotting code below, and I'm using the "scipy superpack" (python 2.5, matplotlib0.98.6) on an OS X 10.5.7 Mac. Many thanks for any help! Will import pylab import smr import sys for freqs, stats, chronos in smr.loadData(sys.argv[1:]): # loads data into numpy.arrays pylab.plot(chronos, freqs) pylab.show() 
From: Michael Droettboom <mdroe@st...>  20090527 14:08:27

You can set the rcParam "path.simplify" to False to turn off this behavior. However, the goal is that the simplification is not noticable  if it is that may be a bug. Are you able to share your data so I can look into this further? Cheers, Mike Will Grover wrote: > Hello matplotlib users, > > I'm using matplotlib to plot some large data sets (1 million x,y > pairs) and I've noticed that, when zoomed out to view the whole plot, > it looks as if only every Nth point is being plotted, maybe in an > attempt to improve plotting performance in complex plots. When I zoom > in I can see points that were clearly missing in the zoomedout view. > Is there any way to override this so that the plot really does show > all the points, regardless of zoom? I've included my really simple > plotting code below, and I'm using the "scipy superpack" (python 2.5, > matplotlib0.98.6) on an OS X 10.5.7 Mac. > > Many thanks for any help! > > Will > > > > import pylab > import smr > import sys > for freqs, stats, chronos in smr.loadData(sys.argv[1:]): # loads data > into numpy.arrays > pylab.plot(chronos, freqs) > pylab.show() > >  > Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT > is a gathering of techside developers & brand creativity professionals. Meet > the minds behind Google Creative Lab, Visual Complexity, Processing, & > iPhoneDevCamp as they present alongside digital heavyweights like Barbarian > Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycatcom > _______________________________________________ > Matplotlibusers mailing list > Matplotlibusers@... > https://lists.sourceforge.net/lists/listinfo/matplotlibusers >  Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA 
From: Will Grover <wgrover@mi...>  20090527 22:32:00

Hello Mike, Thanks for the quick reply  I'll try "path.simplify" as you suggest. My actual data is pretty big and unruly, but I wrote a bit of code that demonstrates the point dropping. This code plots three singlepointwide peaks on a baseline of noise that is 'length' points long. For smaller values of 'length' all three points are visible, but for larger values some or all of the points disappear. Maybe it's unrealistic to think that all singlepoint outliers should always be visible at any scale, but in this case these three points are significantly different from all the baseline points and dropping them obviously makes for a much different looking plot. My actual data doesn't have singlepoint peaks like this, but it does have ~50pointwide peaks in a ~1,000,000 point plot, and many of those peaks are routinely shortened or eliminated in the zoomedout plot of my data, only to reappear when adequately zoomedin. Tell me if there's any thing else I can provide you with, or if this is just the way things are when plotting big data sets. Thanks again,  Will ########### import numpy import pylab # When length = 2000, this usually plots all 3 peaks # When length = 5000, this plots 3, 2, 1, or 0 peaks length = 2000 x = numpy.arange(length) y = numpy.random.normal(loc=0.0, scale=1.0, size=length) y[int(length*0.4)] = 100.0 y[int(length*0.5)] = 100.0 y[int(length*0.6)] = 100.0 pylab.plot(x,y) pylab.show() ########### On Wed, May 27, 2009 at 6:32 AM, Michael Droettboom <mdroe@...> wrote: > You can set the rcParam "path.simplify" to False to turn off this behavior. > > However, the goal is that the simplification is not noticable  if it is > that may be a bug. Are you able to share your data so I can look into this > further? > > Cheers, > Mike > > Will Grover wrote: >> >> Hello matplotlib users, >> >> I'm using matplotlib to plot some large data sets (1 million x,y >> pairs) and I've noticed that, when zoomed out to view the whole plot, >> it looks as if only every Nth point is being plotted, maybe in an >> attempt to improve plotting performance in complex plots. When I zoom >> in I can see points that were clearly missing in the zoomedout view. >> Is there any way to override this so that the plot really does show >> all the points, regardless of zoom? I've included my really simple >> plotting code below, and I'm using the "scipy superpack" (python 2.5, >> matplotlib0.98.6) on an OS X 10.5.7 Mac. >> >> Many thanks for any help! >> >> Will >> >> >> >> import pylab >> import smr >> import sys >> for freqs, stats, chronos in smr.loadData(sys.argv[1:]): # loads data >> into numpy.arrays >> pylab.plot(chronos, freqs) >> pylab.show() >> >> >>  >> Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a >> gathering of techside developers & brand creativity professionals. Meet >> the minds behind Google Creative Lab, Visual Complexity, Processing, & >> iPhoneDevCamp as they present alongside digital heavyweights like Barbarian >> Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycatcom >> _______________________________________________ >> Matplotlibusers mailing list >> Matplotlibusers@... >> https://lists.sourceforge.net/lists/listinfo/matplotlibusers >> > >  > Michael Droettboom > Science Software Branch > Operations and Engineering Division > Space Telescope Science Institute > Operated by AURA for NASA > > 
From: Eric Firing <efiring@ha...>  20090527 17:40:08

Michael Droettboom wrote: > You can set the rcParam "path.simplify" to False to turn off this behavior. Mike, The matplotlibrc.template indicates that this is effective only for vector backends; is the template comment incorrect? Eric #path.simplify : False # When True, simplify paths in vector backends, such as # PDF, PS and SVG #path.simplify_threshold : 0.1 # The threshold of similarity below which # vertices will be removed in the simplification # process 
From: Michael Droettboom <mdroe@st...>  20090527 17:43:08

Good find. The comment is out of date. It is now followed in all backends. I will update the template. Mike Eric Firing wrote: > Michael Droettboom wrote: >> You can set the rcParam "path.simplify" to False to turn off this >> behavior. > > Mike, > > The matplotlibrc.template indicates that this is effective only for > vector backends; is the template comment incorrect? > > Eric > > #path.simplify : False # When True, simplify paths in vector > backends, such as > # PDF, PS and SVG > #path.simplify_threshold : 0.1 # The threshold of similarity below which > # vertices will be removed in the > simplification > # process >  Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA 