SourceForge logo
SourceForge logo
Menu

matplotlib-users — Discussion related to using matplotlib

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)



Showing results of 432

<< < 1 2 3 4 .. 18 > >> (Page 2 of 18)
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!
5 messages has been excluded from this view by a project administrator.

Showing results of 432

<< < 1 2 3 4 .. 18 > >> (Page 2 of 18)
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /