You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
(12) |
Sep
(12) |
Oct
(56) |
Nov
(65) |
Dec
(37) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(59) |
Feb
(78) |
Mar
(153) |
Apr
(205) |
May
(184) |
Jun
(123) |
Jul
(171) |
Aug
(156) |
Sep
(190) |
Oct
(120) |
Nov
(154) |
Dec
(223) |
2005 |
Jan
(184) |
Feb
(267) |
Mar
(214) |
Apr
(286) |
May
(320) |
Jun
(299) |
Jul
(348) |
Aug
(283) |
Sep
(355) |
Oct
(293) |
Nov
(232) |
Dec
(203) |
2006 |
Jan
(352) |
Feb
(358) |
Mar
(403) |
Apr
(313) |
May
(165) |
Jun
(281) |
Jul
(316) |
Aug
(228) |
Sep
(279) |
Oct
(243) |
Nov
(315) |
Dec
(345) |
2007 |
Jan
(260) |
Feb
(323) |
Mar
(340) |
Apr
(319) |
May
(290) |
Jun
(296) |
Jul
(221) |
Aug
(292) |
Sep
(242) |
Oct
(248) |
Nov
(242) |
Dec
(332) |
2008 |
Jan
(312) |
Feb
(359) |
Mar
(454) |
Apr
(287) |
May
(340) |
Jun
(450) |
Jul
(403) |
Aug
(324) |
Sep
(349) |
Oct
(385) |
Nov
(363) |
Dec
(437) |
2009 |
Jan
(500) |
Feb
(301) |
Mar
(409) |
Apr
(486) |
May
(545) |
Jun
(391) |
Jul
(518) |
Aug
(497) |
Sep
(492) |
Oct
(429) |
Nov
(357) |
Dec
(310) |
2010 |
Jan
(371) |
Feb
(657) |
Mar
(519) |
Apr
(432) |
May
(312) |
Jun
(416) |
Jul
(477) |
Aug
(386) |
Sep
(419) |
Oct
(435) |
Nov
(320) |
Dec
(202) |
2011 |
Jan
(321) |
Feb
(413) |
Mar
(299) |
Apr
(215) |
May
(284) |
Jun
(203) |
Jul
(207) |
Aug
(314) |
Sep
(321) |
Oct
(259) |
Nov
(347) |
Dec
(209) |
2012 |
Jan
(322) |
Feb
(414) |
Mar
(377) |
Apr
(179) |
May
(173) |
Jun
(234) |
Jul
(295) |
Aug
(239) |
Sep
(276) |
Oct
(355) |
Nov
(144) |
Dec
(108) |
2013 |
Jan
(170) |
Feb
(89) |
Mar
(204) |
Apr
(133) |
May
(142) |
Jun
(89) |
Jul
(160) |
Aug
(180) |
Sep
(69) |
Oct
(136) |
Nov
(83) |
Dec
(32) |
2014 |
Jan
(71) |
Feb
(90) |
Mar
(161) |
Apr
(117) |
May
(78) |
Jun
(94) |
Jul
(60) |
Aug
(83) |
Sep
(102) |
Oct
(132) |
Nov
(154) |
Dec
(96) |
2015 |
Jan
(45) |
Feb
(138) |
Mar
(176) |
Apr
(132) |
May
(119) |
Jun
(124) |
Jul
(77) |
Aug
(31) |
Sep
(34) |
Oct
(22) |
Nov
(23) |
Dec
(9) |
2016 |
Jan
(26) |
Feb
(17) |
Mar
(10) |
Apr
(8) |
May
(4) |
Jun
(8) |
Jul
(6) |
Aug
(5) |
Sep
(9) |
Oct
(4) |
Nov
|
Dec
|
2017 |
Jan
(5) |
Feb
(7) |
Mar
(1) |
Apr
(5) |
May
|
Jun
(3) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
1
(35) |
2
(29) |
3
(12) |
4
|
5
(8) |
6
(5) |
7
(3) |
8
(38) |
9
(15) |
10
(20) |
11
(14) |
12
(12) |
13
(17) |
14
(6) |
15
(41) |
16
(38) |
17
(31) |
18
(7) |
19
(14) |
20
(12) |
21
(3) |
22
(3) |
23
(15) |
24
(4) |
25
|
26
(3) |
27
(2) |
28
(7) |
29
(16) |
30
(17) |
31
(10) |
|
|
|
From: Christian L. <li...@pe...> - 2008-12-30 06:46:01
|
Hi, I've been trying to do this for a while but just can't get it to work. :( There are 2 things I want to do. 1. I want to limit the value range in a line plot from matplotlib.pyplot.plot(). I thought that clip_box would do exactly that but setting something like [[-1,1],[-5,5]] or the like doesn't seem to have any effect. 2. In a 2D map plot from matplotlib.pyplot.imshow(), I would like to set the limits for the colour bar manually. I.e. I want the colours to be equally distributed over a fixed range. In both cases, the background to my attempt of using fixed values is that I'm producing a time series of plots via script and want all the plots to be directly comparable. Did I overlook this in the examples (or the documentation) or is there really no simple way of doing this? Cheers, Christian |
From: John H. <jd...@gm...> - 2008-12-30 02:38:28
|
On Mon, Dec 29, 2008 at 2:04 PM, davev <dv...@li...> wrote: > Will do (done actually). Here is the list of files: MyFrame.py HeartPanel.py > app.py anim.wxg I've included the wxGlade file just to be complete. Please > let me know if you see anything that is obviously wrong here. It's not much > different from some of the examples I've looked at but doesn't produce > similar results. dave The problem was that you did not call "draw" in your plot init method before saving the background region. Unless you are in interactive mode in pylab, you must manually force a figure draw with a call to figure.canvas.draw. Eg, the method should look like:: def init_plot(self): ''' Method to initialize the plot that is used to animate the display. ''' self.figure.subplots_adjust(left=0, top=1, right=1, bottom=0) self.axes = self.figure.add_subplot(111) self.axes.set_axis_bgcolor('black') self.figure.canvas.draw() if self.bgnd == None: self.bgnd = self.canvas.copy_from_bbox(self.axes.bbox) self.x_data = num.arange(0, 2*num.pi, 0.01) self.line = self.axes.plot(self.x_data, \ num.sin(self.x_data), \ color='green', \ figure=self.figure, \ lw=2, \ animated=True) self.axes.hold(False) I was able to run your example, and with these changes it works as expected. JDH |
From: davev <dv...@li...> - 2008-12-29 20:04:47
|
Will do (done actually). Here is the list of files: http://www.nabble.com/file/p21208385/MyFrame.py MyFrame.py http://www.nabble.com/file/p21208385/HeartPanel.py HeartPanel.py http://www.nabble.com/file/p21208385/app.py app.py http://www.nabble.com/file/p21208385/anim.wxg anim.wxg I've included the wxGlade file just to be complete. Please let me know if you see anything that is obviously wrong here. It's not much different from some of the examples I've looked at but doesn't produce similar results. dave John Hunter-4 wrote: > > On Mon, Dec 29, 2008 at 1:13 AM, davev wrote: >> >> After searching through the forums and trying many different things I >> have >> been unable to get animation working correctly using matplotlib in my >> python >> application. I'm hoping one of the experts here can take a quick look at >> my >> code and tell me what I am doing incorrectly. > > I'll be happy to take a look at this -- I did a quick read through of > the code, and did not see an obvious error, so please create a > complete, free-standing example which uses model data, eg a sine wave > of varying amplitude or frequency over time, and I'll try and take a > look tonight on a machine which has wxpython installed. I > > JDH > > ------------------------------------------------------------------------------ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > -- View this message in context: http://www.nabble.com/python-and-matplotlib-animation-tp21185506p21208385.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
From: mfabulous <mx...@gm...> - 2008-12-29 18:01:27
|
Excellent, thank you, this is exactly what I was looking for! Regards, Maximilian -- View this message in context: http://www.nabble.com/how-to-get-xlims-after-zooming-tp21205310p21206768.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
From: Fabrice S. <si...@lm...> - 2008-12-29 17:44:50
|
Le lundi 29 décembre 2008 à 08:17 -0800, mfabulous a écrit : > Hi, > > I apologize if this was asked before. > > I am trying to implement of a zoom lock over multiple subplots. I.e. I have > four subplots where the xaxis stretches from some value xmin to some xmax. > The range is the same for all four plots. Now if the user zooms into a > different range in one of the four plots, I want to update the ranges of the > other plots. Why not using the 'sharex' keywork argument of subplot function? from matplotlib.pyplot import subplot S1 = subplot(311) S2 = subplot(312, sharex=S1) S3 = subplot(313, sharex=S1) S1, S2 and S3 will share the same x-range. -- Fabrice Silva <si...@lm...> LMA UPR CNRS 7051 - équipe S2M |
From: John H. <jd...@gm...> - 2008-12-29 17:32:49
|
On Mon, Dec 29, 2008 at 10:17 AM, mfabulous <mx...@gm...> wrote: > > Hi, > > I apologize if this was asked before. > > I am trying to implement of a zoom lock over multiple subplots. I.e. I have > four subplots where the xaxis stretches from some value xmin to some xmax. > The range is the same for all four plots. Now if the user zooms into a > different range in one of the four plots, I want to update the ranges of the > other plots. The best way to do this is to use shared axis ax1 = subplot(211) ax2 = subplot(212, sharex=ax1) Then when you zoom in one, the xaxis in the other will be updated too. > > Something like: > def onzoom(): > xmin, xmax = ZOOMED_PLOT.xlims() > for SUBPLOTS_1-4: > xlims(xmin, xmax) > > Now, I know how to update the xrange of an existing plot. But I do not know > how to read the modified xrange after an interactive (e.g. rectangle) zoom. > It seems to me that xlims() does not return the updated limits? > > Also, while I was able to work around this: Is there A way to directly react > to a zoom event. Currently I caputre the mouse-button-released event, then > try to check all ranges to figure out which one changed (which I actually > don't know how to do due to my above mentioned problem) and update all > ranges. You can connect to the xlim_changed event:: ax1 = subplot(211) def onchanged(ax): print ax.get_xlim() ax1.connect('xlim_changed', onchanged) But using shared axes as described above is the way to go. JDH |
From: mfabulous <mx...@gm...> - 2008-12-29 16:17:58
|
Hi, I apologize if this was asked before. I am trying to implement of a zoom lock over multiple subplots. I.e. I have four subplots where the xaxis stretches from some value xmin to some xmax. The range is the same for all four plots. Now if the user zooms into a different range in one of the four plots, I want to update the ranges of the other plots. Something like: def onzoom(): xmin, xmax = ZOOMED_PLOT.xlims() for SUBPLOTS_1-4: xlims(xmin, xmax) Now, I know how to update the xrange of an existing plot. But I do not know how to read the modified xrange after an interactive (e.g. rectangle) zoom. It seems to me that xlims() does not return the updated limits? Also, while I was able to work around this: Is there A way to directly react to a zoom event. Currently I caputre the mouse-button-released event, then try to check all ranges to figure out which one changed (which I actually don't know how to do due to my above mentioned problem) and update all ranges. Regards, Maximilian -- View this message in context: http://www.nabble.com/how-to-get-xlims-after-zooming-tp21205310p21205310.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
From: Michael D. <md...@st...> - 2008-12-29 15:12:15
|
John Hunter wrote: > On Mon, Dec 29, 2008 at 8:44 AM, Michael Droettboom <md...@st...> wrote: > >> This is now fixed in SVN HEAD. >> >> Two changes were made: >> >> a) Be more conservative about when segments are simplified based on their >> length >> >> b) Honor the (already existing) path.simplify rcParam in the *Agg backends. >> > > I didn't see that we already had the param -- we should probably > backport b) to honor the param to the branch, no? > I don't see any harm in (b). The other change (a) is more experimental. I'll go ahead and make this change. Mike -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA |
From: John H. <jd...@gm...> - 2008-12-29 15:11:47
|
On Mon, Dec 29, 2008 at 1:13 AM, davev <dv...@li...> wrote: > > After searching through the forums and trying many different things I have > been unable to get animation working correctly using matplotlib in my python > application. I'm hoping one of the experts here can take a quick look at my > code and tell me what I am doing incorrectly. I'll be happy to take a look at this -- I did a quick read through of the code, and did not see an obvious error, so please create a complete, free-standing example which uses model data, eg a sine wave of varying amplitude or frequency over time, and I'll try and take a look tonight on a machine which has wxpython installed. I JDH |
From: John H. <jd...@gm...> - 2008-12-29 15:06:32
|
On Mon, Dec 29, 2008 at 8:44 AM, Michael Droettboom <md...@st...> wrote: > This is now fixed in SVN HEAD. > > Two changes were made: > > a) Be more conservative about when segments are simplified based on their > length > > b) Honor the (already existing) path.simplify rcParam in the *Agg backends. I didn't see that we already had the param -- we should probably backport b) to honor the param to the branch, no? JDH |
From: Michael D. <md...@st...> - 2008-12-29 14:44:28
|
This is now fixed in SVN HEAD. Two changes were made: a) Be more conservative about when segments are simplified based on their length b) Honor the (already existing) path.simplify rcParam in the *Agg backends. John's suggested patch is also a valid workaround, if you don't want to track SVN. path.py lives in /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib on a Mac. Simply replace the line where should_simplify is set to "self.should_simplify = False" Mike Michael Droettboom wrote: > You can hold off on updating. I am actually able to see it now, even on > SVN HEAD. I'll look further and see if I can find a workaround. > > Cheers, > Mike > > Kaushik Ghose wrote: > >> Hi Mike, >> >> I'm using 0.98.3 with the TkAgg backend on Mac OS X. >> >> I will update matplotlib from the site and try again. My attempt to >> use GtkAgg failed presumably because I don't have things set up with >> GTk on my Mac. >> >> best >> -Kaushik >> >> Michael Droettboom wrote: >> >>> I'm not able to reproduce this on matplotlib SVN head with the GtkAgg >>> backend. Which version and backend are you using? >>> >>> Mike >>> >>> Kaushik Ghose wrote: >>> >>>> PS. In the code just disregard the line N = 1000 - it does nothing. >>>> >>>> Ghose, Kaushik wrote: >>>> >>>> >>>>> Hi John, >>>>> >>>>> OK. I've managed to pare it down to the following pattern: >>>>> >>>>> import pylab >>>>> >>>>> N = 1000 >>>>> x = pylab.zeros(200) >>>>> x[1] = .5 >>>>> x[2:24] = 1.0 >>>>> x[24] = .5 >>>>> x[26] = -.5 >>>>> x[27:49] = -1.0 >>>>> x[49] = -.5 >>>>> x = pylab.tile(x, 100) >>>>> pylab.plot(x) >>>>> >>>>> >>>>> The above code is sufficient to repeat the glitch (just resize the >>>>> window to >>>>> check this). The half-way values (0.5) are important - if we have a >>>>> straight >>>>> jump the glitch isn't visible. >>>>> >>>>> I'm sorry but I couldn't find path.py under >>>>> >>>>> /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/ >>>>> >>>>> >>>>> so I couldn't try it out. (Is it under a different place in mac?) >>>>> >>>>> thanks >>>>> -Kaushik >>>>> >>>>> >>>>> >>>>> John Hunter wrote: >>>>> >>>>> >>>>>> On Sat, Dec 27, 2008 at 10:29 AM, Kaushik Ghose >>>>>> <Kau...@hm...> wrote: >>>>>> >>>>>> >>>>>>> Hi Gang, >>>>>>> >>>>>>> I was plotting some data collected from an ADC and noticed an odd >>>>>>> aliasing >>>>>>> issue. Please see the images on the following site. >>>>>>> >>>>>>> http://assorted-experience.blogspot.com/2008/12/odd-aliasing-issue-with-matplotlib.html >>>>>>> >>>>>>> >>>>>>> I wonder if there is any way to avoid this kind of aliasing. I >>>>>>> vaguely remember >>>>>>> our old arch-foe (MATLAB) handles this gracefully. I have found >>>>>>> matplotlib's >>>>>>> plotting to be superior to MATLAB's in every way (except for 3D) >>>>>>> and it would be >>>>>>> nice if aliasing could be handled gracefully. >>>>>>> >>>>>>> >>>>>> I'm almost certain this is a result of the path simplification logic. >>>>>> Could you upload some sample data and a self contained script so we >>>>>> can test? >>>>>> You can test this by editing site-packages/path.py and replacing:: >>>>>> >>>>>> self.should_simplify = (len(vertices) >= 128 and >>>>>> (codes is None or np.all(codes <= >>>>>> Path.LINETO))) >>>>>> >>>>>> with:: >>>>>> >>>>>> self.should_simplify = False >>>>>> >>>>>> Michael, perhaps we could override path.should_simplify with an rc or >>>>>> line property? >>>>>> >>>>>> >>>>>> >>>>>>> Also, thanks for the excellent binary packages for Mac! >>>>>>> >>>>>>> >>>>>> Thanks for testing them! >>>>>> >>>>>> >>>>> ------------------------------------------------------------------------------ >>>>> >>>>> _______________________________________________ >>>>> Matplotlib-users mailing list >>>>> Mat...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>>> >>>>> >>>> ------------------------------------------------------------------------------ >>>> >>>> _______________________________________________ >>>> Matplotlib-users mailing list >>>> Mat...@li... >>>> 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 >>> >>> > > -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA |
From: Michael D. <md...@st...> - 2008-12-29 14:26:56
|
You can hold off on updating. I am actually able to see it now, even on SVN HEAD. I'll look further and see if I can find a workaround. Cheers, Mike Kaushik Ghose wrote: > Hi Mike, > > I'm using 0.98.3 with the TkAgg backend on Mac OS X. > > I will update matplotlib from the site and try again. My attempt to > use GtkAgg failed presumably because I don't have things set up with > GTk on my Mac. > > best > -Kaushik > > Michael Droettboom wrote: >> I'm not able to reproduce this on matplotlib SVN head with the GtkAgg >> backend. Which version and backend are you using? >> >> Mike >> >> Kaushik Ghose wrote: >>> PS. In the code just disregard the line N = 1000 - it does nothing. >>> >>> Ghose, Kaushik wrote: >>> >>>> Hi John, >>>> >>>> OK. I've managed to pare it down to the following pattern: >>>> >>>> import pylab >>>> >>>> N = 1000 >>>> x = pylab.zeros(200) >>>> x[1] = .5 >>>> x[2:24] = 1.0 >>>> x[24] = .5 >>>> x[26] = -.5 >>>> x[27:49] = -1.0 >>>> x[49] = -.5 >>>> x = pylab.tile(x, 100) >>>> pylab.plot(x) >>>> >>>> >>>> The above code is sufficient to repeat the glitch (just resize the >>>> window to >>>> check this). The half-way values (0.5) are important - if we have a >>>> straight >>>> jump the glitch isn't visible. >>>> >>>> I'm sorry but I couldn't find path.py under >>>> >>>> /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/ >>>> >>>> >>>> so I couldn't try it out. (Is it under a different place in mac?) >>>> >>>> thanks >>>> -Kaushik >>>> >>>> >>>> >>>> John Hunter wrote: >>>> >>>>> On Sat, Dec 27, 2008 at 10:29 AM, Kaushik Ghose >>>>> <Kau...@hm...> wrote: >>>>> >>>>>> Hi Gang, >>>>>> >>>>>> I was plotting some data collected from an ADC and noticed an odd >>>>>> aliasing >>>>>> issue. Please see the images on the following site. >>>>>> >>>>>> http://assorted-experience.blogspot.com/2008/12/odd-aliasing-issue-with-matplotlib.html >>>>>> >>>>>> >>>>>> I wonder if there is any way to avoid this kind of aliasing. I >>>>>> vaguely remember >>>>>> our old arch-foe (MATLAB) handles this gracefully. I have found >>>>>> matplotlib's >>>>>> plotting to be superior to MATLAB's in every way (except for 3D) >>>>>> and it would be >>>>>> nice if aliasing could be handled gracefully. >>>>>> >>>>> I'm almost certain this is a result of the path simplification logic. >>>>> Could you upload some sample data and a self contained script so we >>>>> can test? >>>>> You can test this by editing site-packages/path.py and replacing:: >>>>> >>>>> self.should_simplify = (len(vertices) >= 128 and >>>>> (codes is None or np.all(codes <= >>>>> Path.LINETO))) >>>>> >>>>> with:: >>>>> >>>>> self.should_simplify = False >>>>> >>>>> Michael, perhaps we could override path.should_simplify with an rc or >>>>> line property? >>>>> >>>>> >>>>>> Also, thanks for the excellent binary packages for Mac! >>>>>> >>>>> Thanks for testing them! >>>>> >>>> ------------------------------------------------------------------------------ >>>> >>>> _______________________________________________ >>>> Matplotlib-users mailing list >>>> Mat...@li... >>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>> >>> ------------------------------------------------------------------------------ >>> >>> _______________________________________________ >>> Matplotlib-users mailing list >>> Mat...@li... >>> 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 >> -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA |
From: Kaushik G. <Kau...@hm...> - 2008-12-29 14:21:51
|
Hi Mike, I'm using 0.98.3 with the TkAgg backend on Mac OS X. I will update matplotlib from the site and try again. My attempt to use GtkAgg failed presumably because I don't have things set up with GTk on my Mac. best -Kaushik Michael Droettboom wrote: > I'm not able to reproduce this on matplotlib SVN head with the GtkAgg > backend. Which version and backend are you using? > > Mike > > Kaushik Ghose wrote: >> PS. In the code just disregard the line N = 1000 - it does nothing. >> >> Ghose, Kaushik wrote: >> >>> Hi John, >>> >>> OK. I've managed to pare it down to the following pattern: >>> >>> import pylab >>> >>> N = 1000 >>> x = pylab.zeros(200) >>> x[1] = .5 >>> x[2:24] = 1.0 >>> x[24] = .5 >>> x[26] = -.5 >>> x[27:49] = -1.0 >>> x[49] = -.5 >>> x = pylab.tile(x, 100) >>> pylab.plot(x) >>> >>> >>> The above code is sufficient to repeat the glitch (just resize the window to >>> check this). The half-way values (0.5) are important - if we have a straight >>> jump the glitch isn't visible. >>> >>> I'm sorry but I couldn't find path.py under >>> >>> /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/ >>> >>> so I couldn't try it out. (Is it under a different place in mac?) >>> >>> thanks >>> -Kaushik >>> >>> >>> >>> John Hunter wrote: >>> >>>> On Sat, Dec 27, 2008 at 10:29 AM, Kaushik Ghose >>>> <Kau...@hm...> wrote: >>>> >>>>> Hi Gang, >>>>> >>>>> I was plotting some data collected from an ADC and noticed an odd aliasing >>>>> issue. Please see the images on the following site. >>>>> >>>>> http://assorted-experience.blogspot.com/2008/12/odd-aliasing-issue-with-matplotlib.html >>>>> >>>>> I wonder if there is any way to avoid this kind of aliasing. I vaguely remember >>>>> our old arch-foe (MATLAB) handles this gracefully. I have found matplotlib's >>>>> plotting to be superior to MATLAB's in every way (except for 3D) and it would be >>>>> nice if aliasing could be handled gracefully. >>>>> >>>> I'm almost certain this is a result of the path simplification logic. >>>> Could you upload some sample data and a self contained script so we >>>> can test? >>>> You can test this by editing site-packages/path.py and replacing:: >>>> >>>> self.should_simplify = (len(vertices) >= 128 and >>>> (codes is None or np.all(codes <= Path.LINETO))) >>>> >>>> with:: >>>> >>>> self.should_simplify = False >>>> >>>> Michael, perhaps we could override path.should_simplify with an rc or >>>> line property? >>>> >>>> >>>>> Also, thanks for the excellent binary packages for Mac! >>>>> >>>> Thanks for testing them! >>>> >>> ------------------------------------------------------------------------------ >>> _______________________________________________ >>> Matplotlib-users mailing list >>> Mat...@li... >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> 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 > |
From: Jeff W. <js...@fa...> - 2008-12-29 14:21:16
|
antonv wrote: > Hey Jeff, > > I've got it sorted out a bit now. You're right the data was an output from > Degrib and I had the option to output the csv's with or without data in the > land areas. As before I was using a program that was placing the pixels in > an image based on the X and Y columns it didn't create an issue. That was an > easy fix by switching the option in the Degrib export. > > Also by looking at your example I realized the way the contourf function > requests the Z data and by just reshaping the array I was able to make all > the stuff work properly. Numpy is amazing by the way! I had no idea how easy > you can work with huge arrays! > > My new issue is that I need to mask the land areas in the Z array so I would > have a clean plot over the basemap. Any ideas on how to achieve that? > Create a masked array. Say the values in the Z array set to 1.e30 over land areas in the CSV file. from numpy import ma Z = ma.masked_values(Z,1.e30) Then plot with contourf as before and the land areas will not be contoured. -Jeff > Thanks, > Anton > > > Jeff Whitaker wrote: > >> antonv wrote: >> >>> It seems that I just cannot grasp the way the data needs to be formatted >>> for >>> this to work... >>> I've used the griddata sample that James posted but it takes about 10 >>> minutes to prep the data for plotting so that solution seems to be out of >>> discussion. >>> >>> I guess my issue is that I don't know what type of data is required by >>> contourf function. Also as Jeff was saying earlier, the data is read from >>> a >>> grib file so supposedly it's already gridded. I've also looked at the >>> basemap demo >>> (http://matplotlib.sourceforge.net/users/screenshots.html#basemap-demo) >>> and >>> the data is read from 3 files, one for Lat one for Long and the Last for >>> Z >>> Data. Is there a way to automatically extract the data from the grib file >>> to >>> a format similar to the one used in the basemap example? >>> >>> >> Anton: I just looked at your csv file and I think I know what the >> problem is. Whatever program you used to dump the grib data did not >> write all the data - the missing land values were skipped. That means >> you don't have the full rectangular array of data. I think you have two >> choices: >> >> 1) insert the missing land values into the array, either in the csv file >> or into the array after it is read in from the csv file. What program >> did you use to dump the GRIB data to a CSV file? >> >> 2) use a python grib interface. If you're on Windows, PyNIO won't >> work. I've written my own module (pygrib2 - >> http://code.google.com/p/pygrib2) which you should be able to compile on >> windows. You'll need the png and jasper (jpeg2000) libraries, however. >> >> I recommend (2) - in the time you've already spent messing with that csv >> file, you could have already gotten a real python grib reader working! >> >> -Jeff >> >>> Jeff Whitaker wrote: >>> >>> >>>> Mauro Cavalcanti wrote: >>>> >>>> >>>>> Dear Anton, >>>>> >>>>> 2008/12/23 antonv <vas...@ya...>: >>>>> >>>>> >>>>> >>>>>> Also, because I figured out the data I need and already have the >>>>>> scripts in place >>>>>> to extract the CSV files I would really like to keep it that way. >>>>>> Would >>>>>> it be possible to >>>>>> just show me how to get from the csv file to the plot? >>>>>> >>>>>> >>>>>> >>>>> Here is a short recipe: >>>>> >>>>> import numpy as np >>>>> >>>>> f = open("file.csv", "r") >>>>> coords = np.loadtxt(f, delimiter=",", skiprows=1) >>>>> lon = coords[:,0] >>>>> lat = coords[:,1] >>>>> dat = coords[:,2] >>>>> >>>>> where "file.csv" is a regular comma-separated values file in the >>>>> format: >>>>> >>>>> Lat,Lon,Dat >>>>> -61.05,10.4,20 >>>>> -79.43,9.15,50 >>>>> -70.66,9.53,10 >>>>> -63.11,7.91,40 >>>>> ... >>>>> >>>>> Hope this helps! >>>>> >>>>> Best regards, >>>>> >>>>> >>>>> >>>>> >>>> Since the arrays are 2D (for gridded data), a reshape is also needed, >>>> i.e. >>>> >>>> lon.shape = (nlats,nlons) >>>> lat.shape = (nlats,nlons) >>>> data.shape = (nlats,nlons) >>>> >>>> You'll need to know what the grid dimensons (nlats,nlons) are. >>>> >>>> -Jeff >>>> >>>> ------------------------------------------------------------------------------ >>>> _______________________________________________ >>>> Matplotlib-users mailing list >>>> Mat...@li... >>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>> >>>> >>>> >>>> >>> >>> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> >> > > |
From: Jouni K. S. <jk...@ik...> - 2008-12-29 14:11:53
|
I finally got around to addressing this issue from October: "David Krapohl" <dav...@gm...> writes: >> I am getting an error with savefig and pdf when I try to used >> matplotlib with latex font rendering (attached below). In >> etc/matplotlibrc, I set text.latex.preamble : >> \usepackage{MinionPro}, Jouni K. Seppänen <jk...@ik...> writes: > However, the output seems to have some encoding problems. I will look > into the encoding issue, but cannot promise any particular time frame > for a solution. I think I have fixed the encoding bug in revision 6707. While the only user-visible change should be that some custom LaTeX fonts now work (specifically, large fonts such as Minion Pro and MnSymbol that need several different encodings), the changes in backend_pdf.py were big enough that I'm hesitant to check this in on the maintenance branch. -- Jouni K. Seppänen http://www.iki.fi/jks |
From: Michael D. <md...@st...> - 2008-12-29 12:51:17
|
I'm not able to reproduce this on matplotlib SVN head with the GtkAgg backend. Which version and backend are you using? Mike Kaushik Ghose wrote: > PS. In the code just disregard the line N = 1000 - it does nothing. > > Ghose, Kaushik wrote: > >> Hi John, >> >> OK. I've managed to pare it down to the following pattern: >> >> import pylab >> >> N = 1000 >> x = pylab.zeros(200) >> x[1] = .5 >> x[2:24] = 1.0 >> x[24] = .5 >> x[26] = -.5 >> x[27:49] = -1.0 >> x[49] = -.5 >> x = pylab.tile(x, 100) >> pylab.plot(x) >> >> >> The above code is sufficient to repeat the glitch (just resize the window to >> check this). The half-way values (0.5) are important - if we have a straight >> jump the glitch isn't visible. >> >> I'm sorry but I couldn't find path.py under >> >> /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/ >> >> so I couldn't try it out. (Is it under a different place in mac?) >> >> thanks >> -Kaushik >> >> >> >> John Hunter wrote: >> >>> On Sat, Dec 27, 2008 at 10:29 AM, Kaushik Ghose >>> <Kau...@hm...> wrote: >>> >>>> Hi Gang, >>>> >>>> I was plotting some data collected from an ADC and noticed an odd aliasing >>>> issue. Please see the images on the following site. >>>> >>>> http://assorted-experience.blogspot.com/2008/12/odd-aliasing-issue-with-matplotlib.html >>>> >>>> I wonder if there is any way to avoid this kind of aliasing. I vaguely remember >>>> our old arch-foe (MATLAB) handles this gracefully. I have found matplotlib's >>>> plotting to be superior to MATLAB's in every way (except for 3D) and it would be >>>> nice if aliasing could be handled gracefully. >>>> >>> I'm almost certain this is a result of the path simplification logic. >>> Could you upload some sample data and a self contained script so we >>> can test? >>> You can test this by editing site-packages/path.py and replacing:: >>> >>> self.should_simplify = (len(vertices) >= 128 and >>> (codes is None or np.all(codes <= Path.LINETO))) >>> >>> with:: >>> >>> self.should_simplify = False >>> >>> Michael, perhaps we could override path.should_simplify with an rc or >>> line property? >>> >>> >>>> Also, thanks for the excellent binary packages for Mac! >>>> >>> Thanks for testing them! >>> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> > > ------------------------------------------------------------------------------ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > 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 |
From: davev <dv...@li...> - 2008-12-29 07:13:38
|
After searching through the forums and trying many different things I have been unable to get animation working correctly using matplotlib in my python application. I'm hoping one of the experts here can take a quick look at my code and tell me what I am doing incorrectly. What I am seeing is that the each line continues to be drawn as part of my [timer] update call. I suspect that it is related to the 'hold' call but changing the hold state had no effect. I've tried numerous different scenarios based on available examples but so far nothing has seemed to help. Here is the code: import matplotlib as mpl mpl.use('WXAgg') mpl.rcParams['toolbar'] = 'None' import wx from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as Canvas from matplotlib.figure import Figure import numpy as num # begin wxGlade: dependencies # end wxGlade # begin wxGlade: extracode # end wxGlade class HeartPanel(wx.Panel): def __init__(self, *args, **kwds): # begin wxGlade: HeartPanel.__init__ kwds["style"] = wx.RAISED_BORDER|wx.TAB_TRAVERSAL wx.Panel.__init__(self, *args, **kwds) self.__set_properties() self.__do_layout() # end wxGlade mpl.rc('figure', fc='black', dpi=96, ec='black') self.figure = Figure(figsize=(5.2, 1.25)) self.canvas = Canvas(self, -1, self.figure) self.canvas.SetBackgroundColour(wx.Colour(0, 0, 0)) # self.canvas.draw() self.bgnd = None self.timer = wx.Timer(self, 5555) self.Bind(wx.EVT_TIMER, self.on_timer, self.timer) self.count = 0 def __set_properties(self): # begin wxGlade: HeartPanel.__set_properties self.SetMinSize((500,120)) self.SetBackgroundColour(wx.Colour(0, 0, 0)) self.SetForegroundColour(wx.Colour(0, 255, 0)) # end wxGlade def __do_layout(self): # begin wxGlade: HeartPanel.__do_layout pass # end wxGlade # pylint: disable-msg=W0201 def init_plot(self): ''' Method to initialize the plot that is used to animate the display. ''' self.figure.subplots_adjust(left=0, top=1, right=1, bottom=0) self.axes = self.figure.add_subplot(111) if self.bgnd == None: self.bgnd = self.canvas.copy_from_bbox(self.axes.bbox) self.axes.set_axis_bgcolor('black') self.x_data = num.arange(0, 2*num.pi, 0.01) self.line = self.axes.plot(self.x_data, \ num.sin(self.x_data), \ color='green', \ figure=self.figure, \ lw=2, \ animated=True) self.axes.hold(False) def start_timer(self, time_value=100): ''' Method to start the animation update timer. ''' # self.axes.draw() self.canvas.Show(True) # self.canvas.draw() self.count = 0 self.timer.Start(time_value, wx.TIMER_CONTINUOUS) def stop_timer(self): ''' Method to stop the animation update timer. ''' self.canvas.Show(False) self.timer.Stop() def on_timer(self, event): ''' Event handler for the animation update timer. ''' self.count += 1 self.canvas.restore_region(self.bgnd) # update the data self.line[0].set_ydata(num.sin(self.x_data + self.count/10.0)) self.axes.clear() # just draw the animated artist self.axes.draw_artist(self.line[0]) # just redraw the axes rectangle self.canvas.blit(self.axes.bbox) # end of class HeartPanel Any help is greatly appreciated. -- View this message in context: http://www.nabble.com/python-and-matplotlib-animation-tp21185506p21185506.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
From: antonv <vas...@ya...> - 2008-12-29 04:58:40
|
Hey Jeff, I've got it sorted out a bit now. You're right the data was an output from Degrib and I had the option to output the csv's with or without data in the land areas. As before I was using a program that was placing the pixels in an image based on the X and Y columns it didn't create an issue. That was an easy fix by switching the option in the Degrib export. Also by looking at your example I realized the way the contourf function requests the Z data and by just reshaping the array I was able to make all the stuff work properly. Numpy is amazing by the way! I had no idea how easy you can work with huge arrays! My new issue is that I need to mask the land areas in the Z array so I would have a clean plot over the basemap. Any ideas on how to achieve that? Thanks, Anton Jeff Whitaker wrote: > > antonv wrote: >> It seems that I just cannot grasp the way the data needs to be formatted >> for >> this to work... >> I've used the griddata sample that James posted but it takes about 10 >> minutes to prep the data for plotting so that solution seems to be out of >> discussion. >> >> I guess my issue is that I don't know what type of data is required by >> contourf function. Also as Jeff was saying earlier, the data is read from >> a >> grib file so supposedly it's already gridded. I've also looked at the >> basemap demo >> (http://matplotlib.sourceforge.net/users/screenshots.html#basemap-demo) >> and >> the data is read from 3 files, one for Lat one for Long and the Last for >> Z >> Data. Is there a way to automatically extract the data from the grib file >> to >> a format similar to the one used in the basemap example? >> > > Anton: I just looked at your csv file and I think I know what the > problem is. Whatever program you used to dump the grib data did not > write all the data - the missing land values were skipped. That means > you don't have the full rectangular array of data. I think you have two > choices: > > 1) insert the missing land values into the array, either in the csv file > or into the array after it is read in from the csv file. What program > did you use to dump the GRIB data to a CSV file? > > 2) use a python grib interface. If you're on Windows, PyNIO won't > work. I've written my own module (pygrib2 - > http://code.google.com/p/pygrib2) which you should be able to compile on > windows. You'll need the png and jasper (jpeg2000) libraries, however. > > I recommend (2) - in the time you've already spent messing with that csv > file, you could have already gotten a real python grib reader working! > > -Jeff >> >> >> Jeff Whitaker wrote: >> >>> Mauro Cavalcanti wrote: >>> >>>> Dear Anton, >>>> >>>> 2008/12/23 antonv <vas...@ya...>: >>>> >>>> >>>>> Also, because I figured out the data I need and already have the >>>>> scripts in place >>>>> to extract the CSV files I would really like to keep it that way. >>>>> Would >>>>> it be possible to >>>>> just show me how to get from the csv file to the plot? >>>>> >>>>> >>>> Here is a short recipe: >>>> >>>> import numpy as np >>>> >>>> f = open("file.csv", "r") >>>> coords = np.loadtxt(f, delimiter=",", skiprows=1) >>>> lon = coords[:,0] >>>> lat = coords[:,1] >>>> dat = coords[:,2] >>>> >>>> where "file.csv" is a regular comma-separated values file in the >>>> format: >>>> >>>> Lat,Lon,Dat >>>> -61.05,10.4,20 >>>> -79.43,9.15,50 >>>> -70.66,9.53,10 >>>> -63.11,7.91,40 >>>> ... >>>> >>>> Hope this helps! >>>> >>>> Best regards, >>>> >>>> >>>> >>> Since the arrays are 2D (for gridded data), a reshape is also needed, >>> i.e. >>> >>> lon.shape = (nlats,nlons) >>> lat.shape = (nlats,nlons) >>> data.shape = (nlats,nlons) >>> >>> You'll need to know what the grid dimensons (nlats,nlons) are. >>> >>> -Jeff >>> >>> ------------------------------------------------------------------------------ >>> _______________________________________________ >>> Matplotlib-users mailing list >>> Mat...@li... >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>> >>> >>> >> >> > > > ------------------------------------------------------------------------------ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > -- View this message in context: http://www.nabble.com/Plotting-NOAA-data...-tp21139727p21199108.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
From: John H. <jd...@gm...> - 2008-12-28 20:18:32
|
On Sun, Dec 28, 2008 at 12:39 PM, Leotis buchanan <leo...@gm...> wrote: > Hey Guys, > > I want to use matplotlib to plot data that is changing every second, I am > thinking that in order to do this i will have to update the data array with > the new data , > and redraw the graph. Is this the recommended way to do it ? See the animation cookbook and examples http://www.scipy.org/Cookbook/Matplotlib/Animations But note that the section "GUI neutral animation in pylab" is no longer recommended or supported. The recommended practice can be found in the examples: http://matplotlib.sourceforge.net/examples/animation/index.html JDH |
From: Kaushik G. <Kau...@hm...> - 2008-12-28 18:51:48
|
Leotis buchanan wrote: > > I want to use matplotlib to plot data that is changing every second, I am thinking that in order to do this i will have to update the data array with the new data , > and redraw the graph. Is this the recommended way to do it ? Depending on what environment you are calling from and how complicated the graph is, remember to do pylab.ioff() and the pylab.ion() before and after your drawing commands to speed up the drawing. Also, you may want to force the axis size, because axes that change in scale all the time can be distracting -Kaushik |
From: Jeff W. <js...@fa...> - 2008-12-28 18:43:28
|
antonv wrote: > It seems that I just cannot grasp the way the data needs to be formatted for > this to work... > I've used the griddata sample that James posted but it takes about 10 > minutes to prep the data for plotting so that solution seems to be out of > discussion. > > I guess my issue is that I don't know what type of data is required by > contourf function. Also as Jeff was saying earlier, the data is read from a > grib file so supposedly it's already gridded. I've also looked at the > basemap demo > (http://matplotlib.sourceforge.net/users/screenshots.html#basemap-demo) and > the data is read from 3 files, one for Lat one for Long and the Last for Z > Data. Is there a way to automatically extract the data from the grib file to > a format similar to the one used in the basemap example? > Anton: I just looked at your csv file and I think I know what the problem is. Whatever program you used to dump the grib data did not write all the data - the missing land values were skipped. That means you don't have the full rectangular array of data. I think you have two choices: 1) insert the missing land values into the array, either in the csv file or into the array after it is read in from the csv file. What program did you use to dump the GRIB data to a CSV file? 2) use a python grib interface. If you're on Windows, PyNIO won't work. I've written my own module (pygrib2 - http://code.google.com/p/pygrib2) which you should be able to compile on windows. You'll need the png and jasper (jpeg2000) libraries, however. I recommend (2) - in the time you've already spent messing with that csv file, you could have already gotten a real python grib reader working! -Jeff > > > Jeff Whitaker wrote: > >> Mauro Cavalcanti wrote: >> >>> Dear Anton, >>> >>> 2008/12/23 antonv <vas...@ya...>: >>> >>> >>>> Also, because I figured out the data I need and already have the >>>> scripts in place >>>> to extract the CSV files I would really like to keep it that way. Would >>>> it be possible to >>>> just show me how to get from the csv file to the plot? >>>> >>>> >>> Here is a short recipe: >>> >>> import numpy as np >>> >>> f = open("file.csv", "r") >>> coords = np.loadtxt(f, delimiter=",", skiprows=1) >>> lon = coords[:,0] >>> lat = coords[:,1] >>> dat = coords[:,2] >>> >>> where "file.csv" is a regular comma-separated values file in the format: >>> >>> Lat,Lon,Dat >>> -61.05,10.4,20 >>> -79.43,9.15,50 >>> -70.66,9.53,10 >>> -63.11,7.91,40 >>> ... >>> >>> Hope this helps! >>> >>> Best regards, >>> >>> >>> >> Since the arrays are 2D (for gridded data), a reshape is also needed, i.e. >> >> lon.shape = (nlats,nlons) >> lat.shape = (nlats,nlons) >> data.shape = (nlats,nlons) >> >> You'll need to know what the grid dimensons (nlats,nlons) are. >> >> -Jeff >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> >> > > |
From: Leotis b. <leo...@gm...> - 2008-12-28 18:39:33
|
Hey Guys, I want to use matplotlib to plot data that is changing every second, I am thinking that in order to do this i will have to update the data array with the new data , and redraw the graph. Is this the recommended way to do it ? Thanks -- Leotis Buchanan Manager/Electronic Design Systems Engineer Exterbox.com |
From: antonv <vas...@ya...> - 2008-12-28 04:40:15
|
It seems that I just cannot grasp the way the data needs to be formatted for this to work... I've used the griddata sample that James posted but it takes about 10 minutes to prep the data for plotting so that solution seems to be out of discussion. I guess my issue is that I don't know what type of data is required by contourf function. Also as Jeff was saying earlier, the data is read from a grib file so supposedly it's already gridded. I've also looked at the basemap demo (http://matplotlib.sourceforge.net/users/screenshots.html#basemap-demo) and the data is read from 3 files, one for Lat one for Long and the Last for Z Data. Is there a way to automatically extract the data from the grib file to a format similar to the one used in the basemap example? Jeff Whitaker wrote: > > Mauro Cavalcanti wrote: >> Dear Anton, >> >> 2008/12/23 antonv <vas...@ya...>: >> >>> Also, because I figured out the data I need and already have the >>> scripts in place >>> to extract the CSV files I would really like to keep it that way. Would >>> it be possible to >>> just show me how to get from the csv file to the plot? >>> >> >> Here is a short recipe: >> >> import numpy as np >> >> f = open("file.csv", "r") >> coords = np.loadtxt(f, delimiter=",", skiprows=1) >> lon = coords[:,0] >> lat = coords[:,1] >> dat = coords[:,2] >> >> where "file.csv" is a regular comma-separated values file in the format: >> >> Lat,Lon,Dat >> -61.05,10.4,20 >> -79.43,9.15,50 >> -70.66,9.53,10 >> -63.11,7.91,40 >> ... >> >> Hope this helps! >> >> Best regards, >> >> > Since the arrays are 2D (for gridded data), a reshape is also needed, i.e. > > lon.shape = (nlats,nlons) > lat.shape = (nlats,nlons) > data.shape = (nlats,nlons) > > You'll need to know what the grid dimensons (nlats,nlons) are. > > -Jeff > > ------------------------------------------------------------------------------ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > -- View this message in context: http://www.nabble.com/Plotting-NOAA-data...-tp21139727p21190078.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
From: Kaushik G. <Kau...@hm...> - 2008-12-28 01:09:16
|
PS. In the code just disregard the line N = 1000 - it does nothing. Ghose, Kaushik wrote: > Hi John, > > OK. I've managed to pare it down to the following pattern: > > import pylab > > N = 1000 > x = pylab.zeros(200) > x[1] = .5 > x[2:24] = 1.0 > x[24] = .5 > x[26] = -.5 > x[27:49] = -1.0 > x[49] = -.5 > x = pylab.tile(x, 100) > pylab.plot(x) > > > The above code is sufficient to repeat the glitch (just resize the window to > check this). The half-way values (0.5) are important - if we have a straight > jump the glitch isn't visible. > > I'm sorry but I couldn't find path.py under > > /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/ > > so I couldn't try it out. (Is it under a different place in mac?) > > thanks > -Kaushik > > > > John Hunter wrote: >> On Sat, Dec 27, 2008 at 10:29 AM, Kaushik Ghose >> <Kau...@hm...> wrote: >>> Hi Gang, >>> >>> I was plotting some data collected from an ADC and noticed an odd aliasing >>> issue. Please see the images on the following site. >>> >>> http://assorted-experience.blogspot.com/2008/12/odd-aliasing-issue-with-matplotlib.html >>> >>> I wonder if there is any way to avoid this kind of aliasing. I vaguely remember >>> our old arch-foe (MATLAB) handles this gracefully. I have found matplotlib's >>> plotting to be superior to MATLAB's in every way (except for 3D) and it would be >>> nice if aliasing could be handled gracefully. >> I'm almost certain this is a result of the path simplification logic. >> Could you upload some sample data and a self contained script so we >> can test? >> You can test this by editing site-packages/path.py and replacing:: >> >> self.should_simplify = (len(vertices) >= 128 and >> (codes is None or np.all(codes <= Path.LINETO))) >> >> with:: >> >> self.should_simplify = False >> >> Michael, perhaps we could override path.should_simplify with an rc or >> line property? >> >>> Also, thanks for the excellent binary packages for Mac! >> Thanks for testing them! > > ------------------------------------------------------------------------------ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
From: Kaushik G. <Kau...@hm...> - 2008-12-28 01:05:47
|
Hi John, OK. I've managed to pare it down to the following pattern: import pylab N = 1000 x = pylab.zeros(200) x[1] = .5 x[2:24] = 1.0 x[24] = .5 x[26] = -.5 x[27:49] = -1.0 x[49] = -.5 x = pylab.tile(x, 100) pylab.plot(x) The above code is sufficient to repeat the glitch (just resize the window to check this). The half-way values (0.5) are important - if we have a straight jump the glitch isn't visible. I'm sorry but I couldn't find path.py under /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/ so I couldn't try it out. (Is it under a different place in mac?) thanks -Kaushik John Hunter wrote: > On Sat, Dec 27, 2008 at 10:29 AM, Kaushik Ghose > <Kau...@hm...> wrote: >> Hi Gang, >> >> I was plotting some data collected from an ADC and noticed an odd aliasing >> issue. Please see the images on the following site. >> >> http://assorted-experience.blogspot.com/2008/12/odd-aliasing-issue-with-matplotlib.html >> >> I wonder if there is any way to avoid this kind of aliasing. I vaguely remember >> our old arch-foe (MATLAB) handles this gracefully. I have found matplotlib's >> plotting to be superior to MATLAB's in every way (except for 3D) and it would be >> nice if aliasing could be handled gracefully. > > I'm almost certain this is a result of the path simplification logic. > Could you upload some sample data and a self contained script so we > can test? > You can test this by editing site-packages/path.py and replacing:: > > self.should_simplify = (len(vertices) >= 128 and > (codes is None or np.all(codes <= Path.LINETO))) > > with:: > > self.should_simplify = False > > Michael, perhaps we could override path.should_simplify with an rc or > line property? > >> Also, thanks for the excellent binary packages for Mac! > > Thanks for testing them! |