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
(13)
2
(12)
3
(3)
4
(13)
5
(13)
6
(2)
7
(5)
8
(17)
9
(9)
10
(10)
11
(16)
12
(8)
13
(10)
14
(1)
15
(5)
16
(5)
17
(7)
18
(13)
19
(9)
20
21
22
(2)
23
(3)
24
(5)
25
(5)
26
(14)
27
(1)
28
(2)
29
(18)
30
(5)
31
(22)



Showing results of 247

<< < 1 2 3 4 5 .. 10 > >> (Page 3 of 10)
From: <hu...@ya...> - 2007年10月26日 16:03:05
Attachments: matplotlibrc
Le Friday 26 October 2007 11:22:06, vous avez =E9crit=A0:
> Thanks for this information. It looks like the font outline data is
> somehow getting corrupted before freetype renders it. Again, however, I
> can't reproduce it on my machine (I've attached a copy of what it looks
> like for me), so I'm still pretty stumped. My suspicion is that it's a
> 64-bit vs. 32-bit problem since both people known to have trouble are on
> 64-bit platforms, and I am not. I have tried recompiling with gcc-4.2.2
> and I still wasn't able to reproduce.
I can imagine that it's difficult for you to debug something you cannot=20
reproduce. Just a remark I don't have 64-bits but a 32 so the problem is no=
t=20
comming because of the plateforme.
> One thing you could *try*, to rule out any recent changes to the glyph
> rendering, is to comment out this line near the top of src/ft2font.cpp:
>
> #define VERTICAL_HINTING
>
> as follows
>
> //#define VERTICAL_HINTING
Yes it's doing the trick., I don't have anymore the problem. Thank you very=
=20
much. I have now the same result than you with the test I produce before.
> Additional information: Are there any warnings produced when compiling
> ft2font.cpp? Can you send me your matplotlibrc file?
just the classic one:
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for=20
Ada/C/ObjC but not for C++
Thank you very much.
N.
> Cheers,
> Mike
>
> hu...@ya... wrote:
> > Yep that can be a good idea. I don't know anything on how mathtext is
> > working but I'm not completely sure that the problem is with freetype
> > because sometime that can work. In reality every character I tested
> > worked but you have to put in a certain order. To understand a little b=
it
> > more what I try to say (very badly) see the script join and the figure.
> >
> > I hope that can help a little bit to try to find the reason of this
> > behaviour.
> >
> > N
> >
> > Le Thursday 25 October 2007 15:41:40 Michael Droettboom, vous avez =E9c=
rit :
> >> Darren Dale wrote:
> >>> Hi Mike,
> >>>
> >>> On Tuesday 23 October 2007 09:05:56 am Michael Droettboom wrote:
> >>>> Unfortunately, I can't reproduce this on my machine even with the
> >>>> latest stable version of freetype-2.5.3 (which is the same version in
> >>>> Ubuntu Gutsy).
> >>>
> >>> I think you mean freetype-2.3.5. I also have that version installed,
> >>> although the mpl setup script is reporting 9.16.3.
> >>
> >> Yes. freetype-2.3.5. There are arcane historical reasons I don't ful=
ly
> >> comprehend why the pkgconfig version doesn't match the release version
> >> (and why freetype2 is called freetype6 on Debian and derivatives)...
> >> but my numbers do match yours.
> >>
> >>>> The Ubuntu/Debian package of freetype has a lot of patches
> >>>> applied, and I don't know if they are causing this (but from the loo=
ks
> >>>> of them, I doubt it).
> >>>>
> >>>> Can you set debug.verbose to "annoying" and send me the output of yo=
ur
> >>>> matplotlib run? I want to rule out any font-loading problems.
> >>>
> >>> It's attached. I'm running 64bit gentoo, everything compiled with
> >>> gcc-4.2.2, in case its relevent.
> >>
> >> Always good to have more details, but I'm sort of at a loss on this on=
e,
> >> especially since I can't reproduce it.
> >>
> >> Maybe we need to take a poll on this list of who is working and who
> >> isn't to see what the source of the breakage may be...
> >>
> >> Cheers,
> >> Mike
> >>
> >> ----------------------------------------------------------------------=
=2D-
From: Michael D. <md...@st...> - 2007年10月26日 15:55:32
More information -- I just compiled matplotlib on a communal RHEL4 
64-bit installation, and I still can not reproduce this bug there.
The plot thickens...
Cheers,
Mike
Michael Droettboom wrote:
> Thanks for this information. It looks like the font outline data is 
> somehow getting corrupted before freetype renders it. Again, however, I 
> can't reproduce it on my machine (I've attached a copy of what it looks 
> like for me), so I'm still pretty stumped. My suspicion is that it's a 
> 64-bit vs. 32-bit problem since both people known to have trouble are on 
> 64-bit platforms, and I am not. I have tried recompiling with gcc-4.2.2 
> and I still wasn't able to reproduce.
> 
> One thing you could *try*, to rule out any recent changes to the glyph 
> rendering, is to comment out this line near the top of src/ft2font.cpp:
> 
> #define VERTICAL_HINTING
> 
> as follows
> 
> //#define VERTICAL_HINTING
> 
> Additional information: Are there any warnings produced when compiling 
> ft2font.cpp? Can you send me your matplotlibrc file?
> 
> Cheers,
> Mike
> 
> hu...@ya... wrote:
>> Yep that can be a good idea. I don't know anything on how mathtext is 
>> working but I'm not completely sure that the problem is with freetype 
>> because sometime that can work. In reality every character I tested 
>> worked but you have to put in a certain order. To understand a little 
>> bit more what I try to say (very badly) see the script join and the 
>> figure. 
>> I hope that can help a little bit to try to find the reason of this 
>> behaviour.
>>
>> N
>>
>> Le Thursday 25 October 2007 15:41:40 Michael Droettboom, vous avez 
>> écrit :
>>> Darren Dale wrote:
>>>> Hi Mike,
>>>>
>>>> On Tuesday 23 October 2007 09:05:56 am Michael Droettboom wrote:
>>>>> Unfortunately, I can't reproduce this on my machine even with the 
>>>>> latest
>>>>> stable version of freetype-2.5.3 (which is the same version in Ubuntu
>>>>> Gutsy).
>>>> I think you mean freetype-2.3.5. I also have that version installed,
>>>> although the mpl setup script is reporting 9.16.3.
>>> Yes. freetype-2.3.5. There are arcane historical reasons I don't fully
>>> comprehend why the pkgconfig version doesn't match the release version
>>> (and why freetype2 is called freetype6 on Debian and derivatives)...
>>> but my numbers do match yours.
>>>
>>>>> The Ubuntu/Debian package of freetype has a lot of patches
>>>>> applied, and I don't know if they are causing this (but from the looks
>>>>> of them, I doubt it).
>>>>>
>>>>> Can you set debug.verbose to "annoying" and send me the output of your
>>>>> matplotlib run? I want to rule out any font-loading problems.
>>>> It's attached. I'm running 64bit gentoo, everything compiled with
>>>> gcc-4.2.2, in case its relevent.
>>> Always good to have more details, but I'm sort of at a loss on this one,
>>> especially since I can't reproduce it.
>>>
>>> Maybe we need to take a poll on this list of who is working and who
>>> isn't to see what the source of the breakage may be...
>>>
>>> Cheers,
>>> Mike
>>>
>>> ------------------------------------------------------------------------
>>>
> 
> 
> ------------------------------------------------------------------------
> 
> 
> ------------------------------------------------------------------------
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems? Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> 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: Michael D. <md...@st...> - 2007年10月26日 15:22:26
Attachments: test_mathtext.png
Thanks for this information. It looks like the font outline data is 
somehow getting corrupted before freetype renders it. Again, however, I 
can't reproduce it on my machine (I've attached a copy of what it looks 
like for me), so I'm still pretty stumped. My suspicion is that it's a 
64-bit vs. 32-bit problem since both people known to have trouble are on 
64-bit platforms, and I am not. I have tried recompiling with gcc-4.2.2 
and I still wasn't able to reproduce.
One thing you could *try*, to rule out any recent changes to the glyph 
rendering, is to comment out this line near the top of src/ft2font.cpp:
#define VERTICAL_HINTING
as follows
//#define VERTICAL_HINTING
Additional information: Are there any warnings produced when compiling 
ft2font.cpp? Can you send me your matplotlibrc file?
Cheers,
Mike
hu...@ya... wrote:
> Yep that can be a good idea. I don't know anything on how mathtext is working 
> but I'm not completely sure that the problem is with freetype because 
> sometime that can work. In reality every character I tested worked but you 
> have to put in a certain order. To understand a little bit more what I try to 
> say (very badly) see the script join and the figure. 
> 
> I hope that can help a little bit to try to find the reason of this behaviour.
> 
> N
> 
> Le Thursday 25 October 2007 15:41:40 Michael Droettboom, vous avez écrit :
>> Darren Dale wrote:
>>> Hi Mike,
>>>
>>> On Tuesday 23 October 2007 09:05:56 am Michael Droettboom wrote:
>>>> Unfortunately, I can't reproduce this on my machine even with the latest
>>>> stable version of freetype-2.5.3 (which is the same version in Ubuntu
>>>> Gutsy).
>>> I think you mean freetype-2.3.5. I also have that version installed,
>>> although the mpl setup script is reporting 9.16.3.
>> Yes. freetype-2.3.5. There are arcane historical reasons I don't fully
>> comprehend why the pkgconfig version doesn't match the release version
>> (and why freetype2 is called freetype6 on Debian and derivatives)...
>> but my numbers do match yours.
>>
>>>> The Ubuntu/Debian package of freetype has a lot of patches
>>>> applied, and I don't know if they are causing this (but from the looks
>>>> of them, I doubt it).
>>>>
>>>> Can you set debug.verbose to "annoying" and send me the output of your
>>>> matplotlib run? I want to rule out any font-loading problems.
>>> It's attached. I'm running 64bit gentoo, everything compiled with
>>> gcc-4.2.2, in case its relevent.
>> Always good to have more details, but I'm sort of at a loss on this one,
>> especially since I can't reproduce it.
>>
>> Maybe we need to take a poll on this list of who is working and who
>> isn't to see what the source of the breakage may be...
>>
>> Cheers,
>> Mike
>>
>> ------------------------------------------------------------------------
>>
-- 
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA
From: sunzen w. <su...@gm...> - 2007年10月26日 07:22:50
Hi Gurus,
 (I'm sorry for sending the above unfinished one)
 I'm new to matplotlib programming, and get puzzled about designing
picking handler for broken_barh by the OO interface.
 Could you give me any guidance? Any your help will be appreciated.
<P.S.>
My current approach is presented as the following:
1. plot broken_barh and set picker
 pcol = axes.broken_barh(xseq, yseq, facecolors = colors)
 pcol.set_picker(True)
2. Design picking handler
 mycanvas.mpl_connect('pick_event', foo_pick)
 .....
 def foo_pick(self, event):
 if isinstance(event.artist, BrokenBarHCollection):
 ....
But it doesn't work as expected, and the following error message are
printed.
~~~~~~
verts N=2, Nverts=2 [[(Decimal("1184851021.054456271"), 0.5),
(Decimal("1184851021.054456271"), 1.5),
(Decimal("1184851021.280959577"), 1.5),
(Decimal("1184851021.280959577"), 0.5)],
[(Decimal("1184851021.280959577"), 0.5),
(Decimal("1184851021.280959577"), 1.5),
(Decimal("1184851024.851673542"), 1.5),
(Decimal("1184851024.851673542"), 0.5)]]
offsets; Noffsets=0
i%Nverts=0
Traceback (most recent call last):
 File
"/usr/lib/python2.5/site-packages/matplotlib/backends/backend_gtk.py",
line 146, in button_press_event
 FigureCanvasBase.button_press_event(self, x, y, event.button)
 File "/usr/lib/python2.5/site-packages/matplotlib/backend_bases.py", line
914, in button_press_event
 self.figure.pick(mouseevent)
 File "/usr/lib/python2.5/site-packages/matplotlib/figure.py", line 176, in
pick
 a.pick(mouseevent)
 File "/usr/lib/python2.5/site-packages/matplotlib/axes.py", line 1763, in
pick
 a.pick(mouseevent)
 File "/usr/lib/python2.5/site-packages/matplotlib/collections.py",
line 155, in pick
 for i, thispoly in
enumerate(self.get_transformed_patches()):
 File "/usr/lib/python2.5/site-packages/matplotlib/collections.py", line
188, in get_transformed_patches
 if any(isnan(polyverts)):
TypeError: function not supported for these types, and can't coerce safely
to supported types
~~~~~~
My machine environment is:
fedora 7; python-2.5; matplotlib 0.90
-- 
sunzen
<<freedom & enjoyment>>
From: sunzen w. <su...@gm...> - 2007年10月26日 07:08:19
Hi Gurus,
 I'm new to matplotlib programming, and get puzzled about designing
picking handler for broken_barh by the OO interface.
My current approach is presented as the following:
1. plot broken_barh and set picker
 pcol = axes.broken_barh(xseq, yseq, facecolors = colors)
 pcol.set_picker(True)
2. Design picking handler
 mycanvas.mpl_connect('pick_event', foo_pick)
 .....
 def foo_pick(self, event):
Could you give me any guidance?
-- 
sunzen
<<freedom & enjoyment>>
From: Joseph P. <jp...@is...> - 2007年10月26日 01:52:10
Attachments: moz-screenshot-5.jpg
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
 <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000066">
<font face="Times New Roman">spectral density is by convention a 1Hz
binwidth, not an arbitrary one, units of A^2/Hz.<br>
<br>
perhaps if you manually compute the spectral density of a sine wave,
you will easily see<br>
that they don't have infinite power, R is the autocorrelation of the
Asin(wt):<br>
</font><img src="cid:par...@is..." alt=""><br>
<font face="Times New Roman"><br>
Back to the original question:<br>
<br>
Is there evidence that the matplotlib PSD spectral amplitudes are
accurate?<br>
say by comparison with Matlab results, or a synthetic signal as in the
example, or <br>
from considerations of basic DSP as in the references?<br>
<br>
</font><br>
<a class="moz-txt-link-abbreviated" href="mailto:bre...@un...">bre...@un...</a> wrote:
<blockquote
 cite="mid:OFE...@un..."
 type="cite"><br>
 <font face="sans-serif" size="2">There is certainly differences
(usually
of a factor of PI) in the various definitions used for PSDs, but a
simple
sign wave has an infinite power density at the sine wave frequency.
&nbsp;Are
we agreed on that?</font>
 <br>
 <br>
 <font face="sans-serif" size="2">Use of windowing will modify this
comment
somewhat (so it probably won't really go to infinity) but the basic
fact
remains. &nbsp;The units of a PSD are amp^2/Hz. &nbsp;The MS of a signal
between two frequencies should equal the area under the PSD between
those
frequencies (with allowance for different definitions/factors of PI).
&nbsp;As
I said, for a sign wave the frequency band can be made arbitrarily
small
about the sine wave frequency, but the power between these bands
remains
constant. &nbsp;Therefore the PSD goes to infinity. &nbsp;Otherwise it
isn't a density.</font>
 <br>
 <br>
 <br>
 <br>
 <br>
 <table width="100%">
 <tbody>
 <tr valign="top">
 <td width="40%"><font face="sans-serif" size="1"><b>Joseph Park
<a class="moz-txt-link-rfc2396E" href="mailto:jp...@is...">&lt;jp...@is...&gt;</a></b>
 </font><br>
 <font face="sans-serif" size="1">Sent by:
<a class="moz-txt-link-abbreviated" href="mailto:mat...@li...">mat...@li...</a></font>
 <p><font face="sans-serif" size="1">26/10/2007 10:49 AM</font>
 </p>
 </td>
 <td width="59%">
 <table width="100%">
 <tbody>
 <tr valign="top">
 <td>
 <div align="right"><font face="sans-serif" size="1">To</font></div>
 </td>
 <td><br>
 </td>
 </tr>
 <tr valign="top">
 <td>
 <div align="right"><font face="sans-serif" size="1">cc</font></div>
 </td>
 <td><font face="sans-serif" size="1"><a class="moz-txt-link-abbreviated" href="mailto:mat...@li...">mat...@li...</a></font>
 </td>
 </tr>
 <tr valign="top">
 <td>
 <div align="right"><font face="sans-serif" size="1">Subject</font></div>
 </td>
 <td><font face="sans-serif" size="1">Re:
[Matplotlib-users] PSD amplitudes</font></td>
 </tr>
 </tbody>
 </table>
 <br>
 <table>
 <tbody>
 <tr valign="top">
 <td>
 <br>
 </td>
 <td><br>
 </td>
 </tr>
 </tbody>
 </table>
 <br>
 </td>
 </tr>
 </tbody>
 </table>
 <br>
 <br>
 <br>
 <font color="#000066" face="Times New Roman" size="3">is the
suggestion
that the matplotlib algorithm is correct in computing PSD amplitudes?<br>
 <br>
btw, increasing nFFT increases the number of points used in the FFT,
which
 <br>
increases the spectral <b>frequency</b> resolution (smaller binwidth)
but
for a limited data set<br>
of N points, as is the case in the example, decreases the number of
data
averages <br>
thereby decreasing the spectral <b>amplitude</b> resolution
(accuracy).
keep in mind that<br>
just changing nFFT without making a corresponding change in overlap
will
oversample<br>
the data, thereby skewing the amplitudes. <br>
 <br>
in any case, the amplitude change is not approaching infinity, even if
you set nFFT to<br>
6000, which is the length of the timeseries, the amplitudes are ~35dB,
adjust variable ymax<br>
to see this. <br>
 <br>
to review issues of spectral/amplitude resolution, windowing/overlap,
etc,
a good<br>
reference is Random Data by Bendat &nbsp;&amp;Piersol:</font><font
 color="blue" face="Times New Roman" size="3"><u><br>
 </u></font><a moz-do-not-send="true"
 href="http://www.messagelabs.com/email"><font color="blue" size="3"><u>http://www.numpy.org/"><font color="blue" size="2"><tt><u>www.numpy.org</u></tt></font></a><font
 color="#000066" size="2"><tt>
numpy.scipy.org<br>
except ImportError: <br>
&nbsp;print "Failed to import numpy."<br>
&nbsp;<br>
try:<br>
&nbsp;import pylab as mp &nbsp;# matplotlib.sourceforge.net<br>
&nbsp;from matplotlib.font_manager import fontManager, FontProperties
 <br>
except ImportError: <br>
&nbsp;print "Failed to import pylab."<br>
&nbsp;<br>
 <br>
# Default Parameters<br>
nFFT &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1024 <br>
overlap &nbsp; &nbsp; &nbsp; = 512 &nbsp;<br>
freqSample &nbsp; &nbsp;= 100. <br>
PlotAll &nbsp; &nbsp; &nbsp; = False<br>
WriteOutput &nbsp; = False<br>
 <br>
##----------------------------------------------------------------------------<br>
## Main module<br>
def main():<br>
 <br>
&nbsp;deltaF = freqSample/nFFT # Frequency resolution in Hz<br>
&nbsp;deltaT = 1./freqSample &nbsp; # Sample interval<br>
&nbsp;print 'Sample interval %e (s)' &nbsp; &nbsp; &nbsp; % (deltaT)<br>
&nbsp;print 'Frequency resolution %e (Hz)' % (deltaF)<br>
 <br>
&nbsp;# Setup Plots<br>
&nbsp;#
----------------------------------------------------------------------<br>
&nbsp;mp.figure(1)<br>
&nbsp;mp.title ( "PSD" )<br>
&nbsp;mp.ylabel( "(dB)" )<br>
&nbsp;mp.xlabel( "Frequency (Hz)" )<br>
&nbsp;legendFont = FontProperties(size='small')<br>
 <br>
&nbsp;ymin = 0<br>
&nbsp;ymax = 30<br>
&nbsp;xmin = 0<br>
&nbsp;xmax = 50<br>
&nbsp;xticks = 5<br>
&nbsp;yticks = 5<br>
 <br>
&nbsp;if PlotAll:<br>
&nbsp; &nbsp; &nbsp;mp.figure(2)<br>
&nbsp; &nbsp; &nbsp;mp.title ( "Input Timeseries" )<br>
&nbsp; &nbsp; &nbsp;mp.ylabel( "Amplitude" )<br>
&nbsp; &nbsp; &nbsp;mp.xlabel( "time (s)" )<br>
 <br>
&nbsp;# Create some synthetic data with unity RMS amplitude = 0 dB<br>
&nbsp;#
----------------------------------------------------------------------<br>
&nbsp;t = mp.arange(0., 60., deltaT) # 60 seconds at deltaT interval<br>
&nbsp;A = 1.414<br>
&nbsp;<br>
&nbsp;y0 = A * sin( 2. * math.pi * 5 &nbsp;* t )<br>
&nbsp;y1 = A * sin( 2. * math.pi * 10 * t )<br>
&nbsp;y2 = A * sin( 2. * math.pi * 20 * t )<br>
&nbsp;y3 = A * sin( 2. * math.pi * 30 * t )<br>
&nbsp;y4 = A * sin( 2. * math.pi * 40 * t )<br>
&nbsp;y5 = A * sin( 2. * math.pi * 45 * t )<br>
 <br>
&nbsp;dataList = [ y0, y1, y2, y3, y4, y5 ]<br>
&nbsp;<br>
&nbsp;for data in dataList:<br>
&nbsp; &nbsp; &nbsp;inputDataLen = len( data )<br>
&nbsp; &nbsp; &nbsp;numAverages &nbsp;= math.floor( inputDataLen / (overlap)
) - 1<br>
&nbsp; &nbsp; &nbsp;normalizedRandomError = 1./math.sqrt( numAverages
)<br>
&nbsp; &nbsp; &nbsp;print "%d points" % ( inputDataLen ),<br>
&nbsp; &nbsp; &nbsp;print "%d averages" % (numAverages),<br>
&nbsp; &nbsp; &nbsp;print "normalized random error %.3f" % (
normalizedRandomError )<br>
 <br>
&nbsp; &nbsp; &nbsp;mp.figure(1)<br>
&nbsp; &nbsp; &nbsp;(Pxx, freqs) = mp.psd( data,<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; NFFT &nbsp; &nbsp; = nFFT,<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; Fs &nbsp; &nbsp; &nbsp; = freqSample,<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; noverlap = overlap,<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; lw &nbsp; &nbsp; &nbsp; = 2,<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; label &nbsp; &nbsp;= '' )<br>
 <br>
&nbsp; &nbsp; &nbsp;Pxx_dB = 10.*log10(Pxx)<br>
&nbsp; &nbsp; &nbsp;<br>
&nbsp; &nbsp; &nbsp;if PlotAll:<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mp.figure(2)<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mp.plot(t, data, label='' )<br>
 <br>
&nbsp; &nbsp; &nbsp;# Write Output data<br>
&nbsp; &nbsp; &nbsp;#
----------------------------------------------------------------------<br>
&nbsp; &nbsp; &nbsp;if WriteOutput:<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PxxLen = len(Pxx)<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;OutputFile = "PSD.dat"<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fdOutFile = open( OutputFile, 'a' )<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fdOutFile.write( "Freq\t\tPower(dB)\n"
)<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for i in range(PxxLen):<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fdOutFile.write( "%.4e\t%.3f\n"
% ( freqs[i], Pxx_dB[i] ) )<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fdOutFile.close()<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;print "Wrote ", PxxLen, "
points to ", OutputFile<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
 <br>
&nbsp;# Show the Plot<br>
&nbsp;#
----------------------------------------------------------------------<br>
&nbsp;mp.figure(1)<br>
&nbsp;mp.axis([xmin, xmax, ymin, ymax])<br>
&nbsp;mp.xticks( arange(xmin, xmax+1, xticks) )<br>
&nbsp;mp.yticks( arange(ymin, ymax &nbsp;, yticks) )<br>
&nbsp;mp.title('')<br>
&nbsp;mp.xlabel('Frequency (Hz)')<br>
&nbsp;mp.ylabel(r'$\tt{dB re V^2/Hz}$')<br>
&nbsp;#mp.legend( loc='upper right', prop=legendFont )<br>
&nbsp;if WriteOutput:<br>
&nbsp; &nbsp; &nbsp;plotFileName = "PSD.png"<br>
&nbsp; &nbsp; &nbsp;mp.savefig( plotFileName )<br>
&nbsp; &nbsp; &nbsp;print "Wrote png image to ", plotFileName<br>
&nbsp;if PlotAll:<br>
&nbsp; &nbsp; &nbsp;mp.figure(2)<br>
&nbsp; &nbsp; &nbsp;#mp.legend( loc='lower left', prop=legendFont )<br>
&nbsp;mp.show()<br>
 <br>
&nbsp;print "Normal Exit"<br>
## Main module<br>
##----------------------------------------------------------------------------<br>
 <br>
##----------------------------------------------------------------------------<br>
## Provide for cmd line invocation<br>
if __name__ == "__main__":<br>
&nbsp;main()<br>
 <br>
-------------------------------------------------------------------------<br>
This SF.net email is sponsored by: Splunk Inc.<br>
Still grepping through log files to find problems? &nbsp;Stop.<br>
Now Search log events and configuration files using AJAX and a browser.<br>
Download your FREE copy of Splunk now &gt;&gt; </tt></font><a
 moz-do-not-send="true"
 href="https://lists.sourceforge.net/lists/listinfo/matplotlib-users"><font
 color="blue" size="2"><tt><u>http://www.messagelabs.com/email"><font color="blue" size="3"><u>SF.net email is sponsored by: Splunk Inc.<br>
Still grepping through log files to find problems? &nbsp;Stop.<br>
Now Search log events and configuration files using AJAX and a browser.<br>
Download your FREE copy of Splunk now &gt;&gt; </tt></font><a
 moz-do-not-send="true"
 href="https://lists.sourceforge.net/lists/listinfo/matplotlib-users"><font
 color="blue" size="2"><tt><u>http://www.messagelabs.com/email' rel=nofollow>http://www.messagelabs.com/email">http://www.messagelabs.com/email</a> <br>
______________________________________________________________________</font><font
 size="2"><tt>-------------------------------------------------------------------------<br>
This SF.net email is sponsored by: Splunk Inc.<br>
Still grepping through log files to find problems? &nbsp;Stop.<br>
Now Search log events and configuration files using AJAX and a browser.<br>
Download your FREE copy of Splunk now &gt;&gt;
<a class="moz-txt-link-freetext" href="http://get.splunk.com/_______________________________________________">http://get.splunk.com/_______________________________________________</a><br>
Matplotlib-users mailing list<br>
<a class="moz-txt-link-abbreviated" href="mailto:Mat...@li...">Mat...@li...</a><br>
<a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/matplotlib-users">https://lists.sourceforge.net/lists/listinfo/matplotlib-users</a><br>
 </tt></font>
 <br>
 <br>
UNITED GROUP<br>
This email message is the property of United Group. The information in
this email is confidential and may be legally privileged. It is
intended solely for the addressee. Access to this email by anyone else
is unauthorised. If you are not the intended recipient, you may not
disclose, copy or distribute this email, nor take or omit to take any
action in reliance on it. United Group accepts no liability for any
damage caused by this email or any attachments due to viruses,
interference, interception, corruption or unauthorised access.<br>
If you have received this email in error, please notify United Group
immediately by email to the sender's email address and delete this
document.<br>
</blockquote>
<br>
<pre class="moz-signature" cols="80">-- 
</pre>
</body>
</html>
From: <bre...@un...> - 2007年10月26日 01:02:23
There is certainly differences (usually of a factor of PI) in the various 
definitions used for PSDs, but a simple sign wave has an infinite power 
density at the sine wave frequency. Are we agreed on that?
Use of windowing will modify this comment somewhat (so it probably won't 
really go to infinity) but the basic fact remains. The units of a PSD are 
amp^2/Hz. The MS of a signal between two frequencies should equal the 
area under the PSD between those frequencies (with allowance for different 
definitions/factors of PI). As I said, for a sign wave the frequency band 
can be made arbitrarily small about the sine wave frequency, but the power 
between these bands remains constant. Therefore the PSD goes to infinity. 
 Otherwise it isn't a density.
Joseph Park <jp...@is...> 
Sent by: mat...@li...
26/10/2007 10:49 AM
To
cc
mat...@li...
Subject
Re: [Matplotlib-users] PSD amplitudes
is the suggestion that the matplotlib algorithm is correct in computing 
PSD amplitudes?
btw, increasing nFFT increases the number of points used in the FFT, which 
increases the spectral frequency resolution (smaller binwidth) but for a 
limited data set
of N points, as is the case in the example, decreases the number of data 
averages 
thereby decreasing the spectral amplitude resolution (accuracy). keep in 
mind that
just changing nFFT without making a corresponding change in overlap will 
oversample
the data, thereby skewing the amplitudes. 
in any case, the amplitude change is not approaching infinity, even if you 
set nFFT to
6000, which is the length of the timeseries, the amplitudes are ~35dB, 
adjust variable ymax
to see this. 
to review issues of spectral/amplitude resolution, windowing/overlap, etc, 
a good
reference is Random Data by Bendat &Piersol:
http://www.amazon.com/Random-Data-Analysis-Measurement-Procedures/dp/0471317330
i remain unconvinced that the PSD amplitudes are reasonable, which only 
leaves Matlab
as an alternative... that's a hard pill to swallow... matplotlib is 
clearly preferable.
bre...@un... wrote: 
If you lower the resolution (ie increase nFFT) in your program you will 
see that the PSD does indeed increase. I think it may be on the way to 
infinity. 
Joseph Park <jp...@is...> 
Sent by: mat...@li... 
26/10/2007 10:05 AM 
To
mat...@li... 
cc
Subject
Re: [Matplotlib-users] PSD amplitudes
Shouldn't the PSD for a simple sine wave tend to infinity
the spectral resolution will impact the amplitude, if you
are not dealing with a density. by definition a spectral density
has applied the bandwidth resolution correction. the PSD amplitude
should correspond to the RMS amplitude of the sine wave. in the
example a 1VRMS amplitude sine wave (time domain) should have a
PSD power of 20*log(1V) = 0dB. The windowing function will impact
this ideal number a bit, but certainly not by 25dB.
bre...@un... wrote: 
Are you sure that the answer should be zero? Shouldn't the PSD for a 
simple sine wave tend to infinity (depending on the resolution)? 
Joseph Park <jp...@is...> 
Sent by: mat...@li... 
26/10/2007 06:50 AM 
To
mat...@li... 
cc
Subject
[Matplotlib-users] PSD amplitudes
Please try the attached script.
The answer should be ~0 dB for each of the frequencies.
Most likely a simple scaling issue/parameter of which i'm ignorant.
-- 
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________
##----------------------------------------------------------------------------
## Name: psd_scale.py
## 
## Purpose: Test Power Spectral Density of 1Vrms data
## Depends on Python SciPy and NumPy
## 
## Author: J Park
##
## Created: 10/17/07
##
## Modified: 
##----------------------------------------------------------------------------
try:
 from numpy import * # www.numpy.org numpy.scipy.org
except ImportError: 
 print "Failed to import numpy."
 
try:
 import pylab as mp # matplotlib.sourceforge.net
 from matplotlib.font_manager import fontManager, FontProperties 
except ImportError: 
 print "Failed to import pylab."
 
# Default Parameters
nFFT = 1024 
overlap = 512 
freqSample = 100. 
PlotAll = False
WriteOutput = False
##----------------------------------------------------------------------------
## Main module
def main():
 deltaF = freqSample/nFFT # Frequency resolution in Hz
 deltaT = 1./freqSample # Sample interval
 print 'Sample interval %e (s)' % (deltaT)
 print 'Frequency resolution %e (Hz)' % (deltaF)
 # Setup Plots
 # ----------------------------------------------------------------------
 mp.figure(1)
 mp.title ( "PSD" )
 mp.ylabel( "(dB)" )
 mp.xlabel( "Frequency (Hz)" )
 legendFont = FontProperties(size='small')
 ymin = 0
 ymax = 30
 xmin = 0
 xmax = 50
 xticks = 5
 yticks = 5
 if PlotAll:
 mp.figure(2)
 mp.title ( "Input Timeseries" )
 mp.ylabel( "Amplitude" )
 mp.xlabel( "time (s)" )
 # Create some synthetic data with unity RMS amplitude = 0 dB
 # ----------------------------------------------------------------------
 t = mp.arange(0., 60., deltaT) # 60 seconds at deltaT interval
 A = 1.414
 
 y0 = A * sin( 2. * math.pi * 5 * t )
 y1 = A * sin( 2. * math.pi * 10 * t )
 y2 = A * sin( 2. * math.pi * 20 * t )
 y3 = A * sin( 2. * math.pi * 30 * t )
 y4 = A * sin( 2. * math.pi * 40 * t )
 y5 = A * sin( 2. * math.pi * 45 * t )
 dataList = [ y0, y1, y2, y3, y4, y5 ]
 
 for data in dataList:
 inputDataLen = len( data )
 numAverages = math.floor( inputDataLen / (overlap) ) - 1
 normalizedRandomError = 1./math.sqrt( numAverages )
 print "%d points" % ( inputDataLen ),
 print "%d averages" % (numAverages),
 print "normalized random error %.3f" % ( normalizedRandomError )
 mp.figure(1)
 (Pxx, freqs) = mp.psd( data,
 NFFT = nFFT,
 Fs = freqSample,
 noverlap = overlap,
 lw = 2,
 label = '' )
 Pxx_dB = 10.*log10(Pxx)
 
 if PlotAll:
 mp.figure(2)
 mp.plot(t, data, label='' )
 # Write Output data
 # 
----------------------------------------------------------------------
 if WriteOutput:
 PxxLen = len(Pxx)
 OutputFile = "PSD.dat"
 fdOutFile = open( OutputFile, 'a' )
 fdOutFile.write( "Freq\t\tPower(dB)\n" )
 for i in range(PxxLen):
 fdOutFile.write( "%.4e\t%.3f\n" % ( freqs[i], Pxx_dB[i] ) )
 fdOutFile.close()
 print "Wrote ", PxxLen, " points to ", OutputFile
 
 # Show the Plot
 # ----------------------------------------------------------------------
 mp.figure(1)
 mp.axis([xmin, xmax, ymin, ymax])
 mp.xticks( arange(xmin, xmax+1, xticks) )
 mp.yticks( arange(ymin, ymax , yticks) )
 mp.title('')
 mp.xlabel('Frequency (Hz)')
 mp.ylabel(r'$\tt{dB re V^2/Hz}$')
 #mp.legend( loc='upper right', prop=legendFont )
 if WriteOutput:
 plotFileName = "PSD.png"
 mp.savefig( plotFileName )
 print "Wrote png image to ", plotFileName
 if PlotAll:
 mp.figure(2)
 #mp.legend( loc='lower left', prop=legendFont )
 mp.show()
 print "Normal Exit"
## Main module
##----------------------------------------------------------------------------
##----------------------------------------------------------------------------
## Provide for cmd line invocation
if __name__ == "__main__":
 main()
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> 
http://get.splunk.com/_______________________________________________
Matplotlib-users mailing list
Mat...@li...
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
UNITED GROUP
This email message is the property of United Group. The information in 
this email is confidential and may be legally privileged. It is intended 
solely for the addressee. Access to this email by anyone else is 
unauthorised. If you are not the intended recipient, you may not disclose, 
copy or distribute this email, nor take or omit to take any action in 
reliance on it. United Group accepts no liability for any damage caused by 
this email or any attachments due to viruses, interference, interception, 
corruption or unauthorised access.
If you have received this email in error, please notify United Group 
immediately by email to the sender's email address and delete this 
document. 
-- 
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> 
http://get.splunk.com/_______________________________________________
Matplotlib-users mailing list
Mat...@li...
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
UNITED GROUP
This email message is the property of United Group. The information in 
this email is confidential and may be legally privileged. It is intended 
solely for the addressee. Access to this email by anyone else is 
unauthorised. If you are not the intended recipient, you may not disclose, 
copy or distribute this email, nor take or omit to take any action in 
reliance on it. United Group accepts no liability for any damage caused by 
this email or any attachments due to viruses, interference, interception, 
corruption or unauthorised access.
If you have received this email in error, please notify United Group 
immediately by email to the sender's email address and delete this 
document.
-- 
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Matplotlib-users mailing list
Mat...@li...
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
UNITED GROUP
This email message is the property of United Group. The information in this email is confidential and may be legally privileged. It is intended solely for the addressee. Access to this email by anyone else is unauthorised. If you are not the intended recipient, you may not disclose, copy or distribute this email, nor take or omit to take any action in reliance on it. United Group accepts no liability for any damage caused by this email or any attachments due to viruses, interference, interception, corruption or unauthorised access.
If you have received this email in error, please notify United Group immediately by email to the sender's email address and delete this document.
From: Joseph P. <jp...@is...> - 2007年10月26日 00:51:24
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
 <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000066">
<font face="Times New Roman">is the suggestion that the matplotlib
algorithm is correct in computing PSD amplitudes?<br>
<br>
btw, increasing nFFT increases the number of points used in the FFT,
which <br>
increases the spectral <b>frequency</b> resolution (smaller binwidth)
but for a limited data set<br>
of N points, as is the case in the example, decreases the number of
data averages <br>
thereby decreasing the spectral <b>amplitude</b> resolution
(accuracy). keep in mind that<br>
just changing nFFT without making a corresponding change in overlap
will oversample<br>
the data, thereby skewing the amplitudes. <br>
<br>
in any case, the amplitude change is not approaching infinity, even if
you set nFFT to<br>
6000, which is the length of the timeseries, the amplitudes are ~35dB,
adjust variable ymax<br>
to see this. <br>
<br>
to review issues of spectral/amplitude resolution, windowing/overlap,
etc, a good<br>
reference is Random Data by Bendat&nbsp; &amp;Piersol:<br>
<a class="moz-txt-link-freetext" href="http://www.amazon.com/Random-Data-Analysis-Measurement-Procedures/dp/0471317330">http://www.amazon.com/Random-Data-Analysis-Measurement-Procedures/dp/0471317330</a><br>
<br>
i remain unconvinced that the PSD amplitudes are reasonable, which only
leaves Matlab<br>
as an alternative... that's a hard pill to swallow... matplotlib is
clearly preferable.<br>
<br>
</font><br>
<a class="moz-txt-link-abbreviated" href="mailto:bre...@un...">bre...@un...</a> wrote:
<blockquote
 cite="mid:OFB...@un..."
 type="cite"><br>
 <font face="sans-serif" size="2">If you lower the resolution (ie
increase
nFFT) in your program you will see that the PSD does indeed increase.
&nbsp;I
think it may be on the way to infinity.</font>
 <br>
 <br>
 <br>
 <br>
 <br>
 <table width="100%">
 <tbody>
 <tr valign="top">
 <td width="40%"><font face="sans-serif" size="1"><b>Joseph Park
<a class="moz-txt-link-rfc2396E" href="mailto:jp...@is...">&lt;jp...@is...&gt;</a></b>
 </font><br>
 <font face="sans-serif" size="1">Sent by:
<a class="moz-txt-link-abbreviated" href="mailto:mat...@li...">mat...@li...</a></font>
 <p><font face="sans-serif" size="1">26/10/2007 10:05 AM</font>
 </p>
 </td>
 <td width="59%">
 <table width="100%">
 <tbody>
 <tr valign="top">
 <td>
 <div align="right"><font face="sans-serif" size="1">To</font></div>
 </td>
 <td><font face="sans-serif" size="1"><a class="moz-txt-link-abbreviated" href="mailto:mat...@li...">mat...@li...</a></font>
 </td>
 </tr>
 <tr valign="top">
 <td>
 <div align="right"><font face="sans-serif" size="1">cc</font></div>
 </td>
 <td><br>
 </td>
 </tr>
 <tr valign="top">
 <td>
 <div align="right"><font face="sans-serif" size="1">Subject</font></div>
 </td>
 <td><font face="sans-serif" size="1">Re:
[Matplotlib-users] PSD amplitudes</font></td>
 </tr>
 </tbody>
 </table>
 <br>
 <table>
 <tbody>
 <tr valign="top">
 <td>
 <br>
 </td>
 <td><br>
 </td>
 </tr>
 </tbody>
 </table>
 <br>
 </td>
 </tr>
 </tbody>
 </table>
 <br>
 <br>
 <br>
 <font color="#000066" face="sans-serif" size="2">Shouldn't the PSD
for
a simple sine wave tend to infinity<br>
 </font><font color="#000066" face="Courier New" size="2"><br>
the spectral resolution will impact the amplitude, if you<br>
are <b>not</b> dealing with a density. by definition a spectral density<br>
has applied the bandwidth resolution correction. the PSD amplitude<br>
should correspond to the RMS amplitude of the sine wave. in the<br>
example a 1VRMS amplitude sine wave (time domain) should have a<br>
PSD power of 20*log(1V) = 0dB. The windowing function will impact<br>
this ideal number a bit, but certainly not by 25dB.</font><font
 color="#000066" size="3"><br>
 </font><font color="blue" size="3"><u><br>
 </u></font><a moz-do-not-send="true"
 href="mailto:bre...@un..."><font color="blue"
 size="3"><u>bre...@un...</u></font></a><font
 color="#000066" size="3">
wrote: </font>
 <br>
 <font color="#000066" face="sans-serif" size="2"><br>
Are you sure that the answer should be zero? &nbsp;Shouldn't the PSD for
a simple sine wave tend to infinity (depending on the resolution)?</font><font
 color="#000066" size="3">
 <br>
 <br>
 <br>
 <br>
 </font>
 <table width="100%">
 <tbody>
 <tr valign="top">
 <td width="54%"><font color="#000066" face="sans-serif" size="1"><b>Joseph
Park
 </b></font><a moz-do-not-send="true"
 href="mailto:jp...@is..."><font color="blue"
 face="sans-serif" size="1"><b><u>&lt;jp...@is...&gt;</u></b></font></a><font
 color="#000066" face="sans-serif" size="1">
 <br>
Sent by: </font><a moz-do-not-send="true"
 href="mailto:mat...@li..."><font
 color="blue" face="sans-serif" size="1"><u>mat...@li...</u></font></a><font
 color="#000066" size="3">
 </font>
 <p><font color="#000066" face="sans-serif" size="1">26/10/2007
06:50 AM</font><font color="#000066" size="3">
 </font></p>
 </td>
 <td width="45%"><br>
 <table width="100%">
 <tbody>
 <tr valign="top">
 <td width="17%">
 <div align="right"><font color="#000066" face="sans-serif"
 size="1">To</font></div>
 </td>
 <td width="82%"><a moz-do-not-send="true"
 href="mailto:mat...@li..."><font color="blue"
 face="sans-serif" size="1"><u>mat...@li...</u></font></a><font
 color="#000066" size="3">
 </font></td>
 </tr>
 <tr valign="top">
 <td>
 <div align="right"><font color="#000066" face="sans-serif"
 size="1">cc</font></div>
 </td>
 <td><br>
 </td>
 </tr>
 <tr valign="top">
 <td>
 <div align="right"><font color="#000066" face="sans-serif"
 size="1">Subject</font></div>
 </td>
 <td><font color="#000066" face="sans-serif" size="1">[Matplotlib-users]
PSD
amplitudes</font></td>
 </tr>
 </tbody>
 </table>
 <br>
 <br>
 <table width="100%">
 <tbody>
 <tr valign="top">
 <td width="50%">
 <br>
 </td>
 <td width="50%"><br>
 </td>
 </tr>
 </tbody>
 </table>
 <br>
 </td>
 </tr>
 </tbody>
 </table>
 <br>
 <font color="#000066" size="3"><br>
 <br>
 <br>
Please try the attached script.<br>
The answer should be ~0 dB for each of the frequencies.<br>
Most likely a simple scaling issue/parameter of which i'm ignorant.<br>
 </font><font color="#000066" size="3"><tt><br>
-- </tt></font><font color="#000066" size="3"><br>
 <br>
 <br>
______________________________________________________________________<br>
This email has been scanned by the MessageLabs Email Security System.<br>
For more information please visit </font><a moz-do-not-send="true"
 href="http://www.numpy.org/"><font color="blue" size="2"><tt><u>www.numpy.org</u></tt></font></a><font
 color="#000066" size="2"><tt>
numpy.scipy.org<br>
except ImportError: <br>
&nbsp; print "Failed to import numpy."<br>
&nbsp; <br>
try:<br>
&nbsp; import pylab as mp &nbsp;# matplotlib.sourceforge.net<br>
&nbsp; from matplotlib.font_manager import fontManager, FontProperties
 <br>
except ImportError: <br>
&nbsp; print "Failed to import pylab."<br>
&nbsp; <br>
 <br>
# Default Parameters<br>
nFFT &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1024 <br>
overlap &nbsp; &nbsp; &nbsp; = 512 &nbsp;<br>
freqSample &nbsp; &nbsp;= 100. <br>
PlotAll &nbsp; &nbsp; &nbsp; = False<br>
WriteOutput &nbsp; = False<br>
 <br>
##----------------------------------------------------------------------------<br>
## Main module<br>
def main():<br>
 <br>
&nbsp; deltaF = freqSample/nFFT # Frequency resolution in Hz<br>
&nbsp; deltaT = 1./freqSample &nbsp; # Sample interval<br>
&nbsp; print 'Sample interval %e (s)' &nbsp; &nbsp; &nbsp; % (deltaT)<br>
&nbsp; print 'Frequency resolution %e (Hz)' % (deltaF)<br>
 <br>
&nbsp; # Setup Plots<br>
&nbsp; #
----------------------------------------------------------------------<br>
&nbsp; mp.figure(1)<br>
&nbsp; mp.title ( "PSD" )<br>
&nbsp; mp.ylabel( "(dB)" )<br>
&nbsp; mp.xlabel( "Frequency (Hz)" )<br>
&nbsp; legendFont = FontProperties(size='small')<br>
 <br>
&nbsp; ymin = 0<br>
&nbsp; ymax = 30<br>
&nbsp; xmin = 0<br>
&nbsp; xmax = 50<br>
&nbsp; xticks = 5<br>
&nbsp; yticks = 5<br>
 <br>
&nbsp; if PlotAll:<br>
&nbsp; &nbsp; &nbsp; mp.figure(2)<br>
&nbsp; &nbsp; &nbsp; mp.title ( "Input Timeseries" )<br>
&nbsp; &nbsp; &nbsp; mp.ylabel( "Amplitude" )<br>
&nbsp; &nbsp; &nbsp; mp.xlabel( "time (s)" )<br>
 <br>
&nbsp; # Create some synthetic data with unity RMS amplitude = 0 dB<br>
&nbsp; #
----------------------------------------------------------------------<br>
&nbsp; t = mp.arange(0., 60., deltaT) # 60 seconds at deltaT interval<br>
&nbsp; A = 1.414<br>
&nbsp; <br>
&nbsp; y0 = A * sin( 2. * math.pi * 5 &nbsp;* t )<br>
&nbsp; y1 = A * sin( 2. * math.pi * 10 * t )<br>
&nbsp; y2 = A * sin( 2. * math.pi * 20 * t )<br>
&nbsp; y3 = A * sin( 2. * math.pi * 30 * t )<br>
&nbsp; y4 = A * sin( 2. * math.pi * 40 * t )<br>
&nbsp; y5 = A * sin( 2. * math.pi * 45 * t )<br>
 <br>
&nbsp; dataList = [ y0, y1, y2, y3, y4, y5 ]<br>
&nbsp; <br>
&nbsp; for data in dataList:<br>
&nbsp; &nbsp; &nbsp; inputDataLen = len( data )<br>
&nbsp; &nbsp; &nbsp; numAverages &nbsp;= math.floor( inputDataLen / (overlap)
) - 1<br>
&nbsp; &nbsp; &nbsp; normalizedRandomError = 1./math.sqrt( numAverages
)<br>
&nbsp; &nbsp; &nbsp; print "%d points" % ( inputDataLen ),<br>
&nbsp; &nbsp; &nbsp; print "%d averages" % (numAverages),<br>
&nbsp; &nbsp; &nbsp; print "normalized random error %.3f" %
( normalizedRandomError )<br>
 <br>
&nbsp; &nbsp; &nbsp; mp.figure(1)<br>
&nbsp; &nbsp; &nbsp; (Pxx, freqs) = mp.psd( data,<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NFFT &nbsp; &nbsp; = nFFT,<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Fs &nbsp; &nbsp; &nbsp; = freqSample,<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;noverlap = overlap,<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lw &nbsp; &nbsp; &nbsp; = 2,<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;label &nbsp; &nbsp;= '' )<br>
 <br>
&nbsp; &nbsp; &nbsp; Pxx_dB = 10.*log10(Pxx)<br>
&nbsp; &nbsp; &nbsp; <br>
&nbsp; &nbsp; &nbsp; if PlotAll:<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mp.figure(2)<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mp.plot(t, data, label='' )<br>
 <br>
&nbsp; &nbsp; &nbsp; # Write Output data<br>
&nbsp; &nbsp; &nbsp; #
----------------------------------------------------------------------<br>
&nbsp; &nbsp; &nbsp; if WriteOutput:<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PxxLen = len(Pxx)<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; OutputFile = "PSD.dat"<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fdOutFile = open( OutputFile, 'a' )<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fdOutFile.write( "Freq\t\tPower(dB)\n"
)<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for i in range(PxxLen):<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fdOutFile.write( "%.4e\t%.3f\n"
% ( freqs[i], Pxx_dB[i] ) )<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fdOutFile.close()<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print "Wrote ", PxxLen, "
points to ", OutputFile<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>
 <br>
&nbsp; # Show the Plot<br>
&nbsp; #
----------------------------------------------------------------------<br>
&nbsp; mp.figure(1)<br>
&nbsp; mp.axis([xmin, xmax, ymin, ymax])<br>
&nbsp; mp.xticks( arange(xmin, xmax+1, xticks) )<br>
&nbsp; mp.yticks( arange(ymin, ymax &nbsp;, yticks) )<br>
&nbsp; mp.title('')<br>
&nbsp; mp.xlabel('Frequency (Hz)')<br>
&nbsp; mp.ylabel(r'$\tt{dB re V^2/Hz}$')<br>
&nbsp; #mp.legend( loc='upper right', prop=legendFont )<br>
&nbsp; if WriteOutput:<br>
&nbsp; &nbsp; &nbsp; plotFileName = "PSD.png"<br>
&nbsp; &nbsp; &nbsp; mp.savefig( plotFileName )<br>
&nbsp; &nbsp; &nbsp; print "Wrote png image to ", plotFileName<br>
&nbsp; if PlotAll:<br>
&nbsp; &nbsp; &nbsp; mp.figure(2)<br>
&nbsp; &nbsp; &nbsp; #mp.legend( loc='lower left', prop=legendFont )<br>
&nbsp; mp.show()<br>
 <br>
&nbsp; print "Normal Exit"<br>
## Main module<br>
##----------------------------------------------------------------------------<br>
 <br>
##----------------------------------------------------------------------------<br>
## Provide for cmd line invocation<br>
if __name__ == "__main__":<br>
&nbsp; main()<br>
 <br>
-------------------------------------------------------------------------<br>
This SF.net email is sponsored by: Splunk Inc.<br>
Still grepping through log files to find problems? &nbsp;Stop.<br>
Now Search log events and configuration files using AJAX and a browser.<br>
Download your FREE copy of Splunk now &gt;&gt; </tt></font><a
 moz-do-not-send="true"
 href="https://lists.sourceforge.net/lists/listinfo/matplotlib-users"><font
 color="blue" size="2"><tt><u>http://www.messagelabs.com/email' rel=nofollow>http://www.messagelabs.com/email">http://www.messagelabs.com/email</a> <br>
______________________________________________________________________</font><font
 size="2"><tt>-------------------------------------------------------------------------<br>
This SF.net email is sponsored by: Splunk Inc.<br>
Still grepping through log files to find problems? &nbsp;Stop.<br>
Now Search log events and configuration files using AJAX and a browser.<br>
Download your FREE copy of Splunk now &gt;&gt;
<a class="moz-txt-link-freetext" href="http://get.splunk.com/_______________________________________________">http://get.splunk.com/_______________________________________________</a><br>
Matplotlib-users mailing list<br>
<a class="moz-txt-link-abbreviated" href="mailto:Mat...@li...">Mat...@li...</a><br>
<a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/matplotlib-users">https://lists.sourceforge.net/lists/listinfo/matplotlib-users</a><br>
 </tt></font>
 <br>
 <br>
UNITED GROUP<br>
This email message is the property of United Group. The information in
this email is confidential and may be legally privileged. It is
intended solely for the addressee. Access to this email by anyone else
is unauthorised. If you are not the intended recipient, you may not
disclose, copy or distribute this email, nor take or omit to take any
action in reliance on it. United Group accepts no liability for any
damage caused by this email or any attachments due to viruses,
interference, interception, corruption or unauthorised access.<br>
If you have received this email in error, please notify United Group
immediately by email to the sender's email address and delete this
document.<br>
</blockquote>
<br>
<pre class="moz-signature" cols="80">-- 
</pre>
</body>
</html>
From: <bre...@un...> - 2007年10月26日 00:17:43
If you lower the resolution (ie increase nFFT) in your program you will 
see that the PSD does indeed increase. I think it may be on the way to 
infinity.
Joseph Park <jp...@is...> 
Sent by: mat...@li...
26/10/2007 10:05 AM
To
mat...@li...
cc
Subject
Re: [Matplotlib-users] PSD amplitudes
Shouldn't the PSD for a simple sine wave tend to infinity
the spectral resolution will impact the amplitude, if you
are not dealing with a density. by definition a spectral density
has applied the bandwidth resolution correction. the PSD amplitude
should correspond to the RMS amplitude of the sine wave. in the
example a 1VRMS amplitude sine wave (time domain) should have a
PSD power of 20*log(1V) = 0dB. The windowing function will impact
this ideal number a bit, but certainly not by 25dB.
bre...@un... wrote: 
Are you sure that the answer should be zero? Shouldn't the PSD for a 
simple sine wave tend to infinity (depending on the resolution)? 
Joseph Park <jp...@is...> 
Sent by: mat...@li... 
26/10/2007 06:50 AM 
To
mat...@li... 
cc
Subject
[Matplotlib-users] PSD amplitudes
Please try the attached script.
The answer should be ~0 dB for each of the frequencies.
Most likely a simple scaling issue/parameter of which i'm ignorant.
-- 
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________
##----------------------------------------------------------------------------
## Name: psd_scale.py
## 
## Purpose: Test Power Spectral Density of 1Vrms data
## Depends on Python SciPy and NumPy
## 
## Author: J Park
##
## Created: 10/17/07
##
## Modified: 
##----------------------------------------------------------------------------
try:
 from numpy import * # www.numpy.org numpy.scipy.org
except ImportError: 
 print "Failed to import numpy."
 
try:
 import pylab as mp # matplotlib.sourceforge.net
 from matplotlib.font_manager import fontManager, FontProperties 
except ImportError: 
 print "Failed to import pylab."
 
# Default Parameters
nFFT = 1024 
overlap = 512 
freqSample = 100. 
PlotAll = False
WriteOutput = False
##----------------------------------------------------------------------------
## Main module
def main():
 deltaF = freqSample/nFFT # Frequency resolution in Hz
 deltaT = 1./freqSample # Sample interval
 print 'Sample interval %e (s)' % (deltaT)
 print 'Frequency resolution %e (Hz)' % (deltaF)
 # Setup Plots
 # 
----------------------------------------------------------------------
 mp.figure(1)
 mp.title ( "PSD" )
 mp.ylabel( "(dB)" )
 mp.xlabel( "Frequency (Hz)" )
 legendFont = FontProperties(size='small')
 ymin = 0
 ymax = 30
 xmin = 0
 xmax = 50
 xticks = 5
 yticks = 5
 if PlotAll:
 mp.figure(2)
 mp.title ( "Input Timeseries" )
 mp.ylabel( "Amplitude" )
 mp.xlabel( "time (s)" )
 # Create some synthetic data with unity RMS amplitude = 0 dB
 # 
----------------------------------------------------------------------
 t = mp.arange(0., 60., deltaT) # 60 seconds at deltaT interval
 A = 1.414
 
 y0 = A * sin( 2. * math.pi * 5 * t )
 y1 = A * sin( 2. * math.pi * 10 * t )
 y2 = A * sin( 2. * math.pi * 20 * t )
 y3 = A * sin( 2. * math.pi * 30 * t )
 y4 = A * sin( 2. * math.pi * 40 * t )
 y5 = A * sin( 2. * math.pi * 45 * t )
 dataList = [ y0, y1, y2, y3, y4, y5 ]
 
 for data in dataList:
 inputDataLen = len( data )
 numAverages = math.floor( inputDataLen / (overlap) ) - 1
 normalizedRandomError = 1./math.sqrt( numAverages )
 print "%d points" % ( inputDataLen ),
 print "%d averages" % (numAverages),
 print "normalized random error %.3f" % ( normalizedRandomError )
 mp.figure(1)
 (Pxx, freqs) = mp.psd( data,
 NFFT = nFFT,
 Fs = freqSample,
 noverlap = overlap,
 lw = 2,
 label = '' )
 Pxx_dB = 10.*log10(Pxx)
 
 if PlotAll:
 mp.figure(2)
 mp.plot(t, data, label='' )
 # Write Output data
 # 
----------------------------------------------------------------------
 if WriteOutput:
 PxxLen = len(Pxx)
 OutputFile = "PSD.dat"
 fdOutFile = open( OutputFile, 'a' )
 fdOutFile.write( "Freq\t\tPower(dB)\n" )
 for i in range(PxxLen):
 fdOutFile.write( "%.4e\t%.3f\n" % ( freqs[i], Pxx_dB[i] ) )
 fdOutFile.close()
 print "Wrote ", PxxLen, " points to ", OutputFile
 
 # Show the Plot
 # 
----------------------------------------------------------------------
 mp.figure(1)
 mp.axis([xmin, xmax, ymin, ymax])
 mp.xticks( arange(xmin, xmax+1, xticks) )
 mp.yticks( arange(ymin, ymax , yticks) )
 mp.title('')
 mp.xlabel('Frequency (Hz)')
 mp.ylabel(r'$\tt{dB re V^2/Hz}$')
 #mp.legend( loc='upper right', prop=legendFont )
 if WriteOutput:
 plotFileName = "PSD.png"
 mp.savefig( plotFileName )
 print "Wrote png image to ", plotFileName
 if PlotAll:
 mp.figure(2)
 #mp.legend( loc='lower left', prop=legendFont )
 mp.show()
 print "Normal Exit"
## Main module
##----------------------------------------------------------------------------
##----------------------------------------------------------------------------
## Provide for cmd line invocation
if __name__ == "__main__":
 main()
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> 
http://get.splunk.com/_______________________________________________
Matplotlib-users mailing list
Mat...@li...
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
UNITED GROUP
This email message is the property of United Group. The information in 
this email is confidential and may be legally privileged. It is intended 
solely for the addressee. Access to this email by anyone else is 
unauthorised. If you are not the intended recipient, you may not disclose, 
copy or distribute this email, nor take or omit to take any action in 
reliance on it. United Group accepts no liability for any damage caused by 
this email or any attachments due to viruses, interference, interception, 
corruption or unauthorised access.
If you have received this email in error, please notify United Group 
immediately by email to the sender's email address and delete this 
document.
-- 
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Matplotlib-users mailing list
Mat...@li...
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
UNITED GROUP
This email message is the property of United Group. The information in this email is confidential and may be legally privileged. It is intended solely for the addressee. Access to this email by anyone else is unauthorised. If you are not the intended recipient, you may not disclose, copy or distribute this email, nor take or omit to take any action in reliance on it. United Group accepts no liability for any damage caused by this email or any attachments due to viruses, interference, interception, corruption or unauthorised access.
If you have received this email in error, please notify United Group immediately by email to the sender's email address and delete this document.
From: Joseph P. <jp...@is...> - 2007年10月26日 00:07:30
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
 <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000066">
<font face="sans-serif" size="2">Shouldn't the PSD for a simple sine
wave tend to infinity<br>
<br>
<font face="Courier New, Courier, monospace">the spectral resolution
will impact the amplitude, if you<br>
are <b>not</b> dealing with a density. by definition a spectral density<br>
has applied the bandwidth resolution correction. the PSD amplitude<br>
should correspond to the RMS amplitude of the sine wave. in the<br>
example a 1VRMS amplitude sine wave (time domain) should have a<br>
PSD power of 20*log(1V) = 0dB. The windowing function will impact<br>
this ideal number a bit, but certainly not by 25dB.<br>
</font></font><br>
<a class="moz-txt-link-abbreviated" href="mailto:bre...@un...">bre...@un...</a> wrote:
<blockquote
 cite="mid:OF3...@un..."
 type="cite"><br>
 <font face="sans-serif" size="2">Are you sure that the answer should
be zero? &nbsp;Shouldn't the PSD for a simple sine wave tend to infinity
(depending on the resolution)?</font>
 <br>
 <br>
 <br>
 <br>
 <br>
 <table width="100%">
 <tbody>
 <tr valign="top">
 <td width="40%"><font face="sans-serif" size="1"><b>Joseph Park
<a class="moz-txt-link-rfc2396E" href="mailto:jp...@is...">&lt;jp...@is...&gt;</a></b>
 </font><br>
 <font face="sans-serif" size="1">Sent by:
<a class="moz-txt-link-abbreviated" href="mailto:mat...@li...">mat...@li...</a></font>
 <p><font face="sans-serif" size="1">26/10/2007 06:50 AM</font>
 </p>
 </td>
 <td width="59%">
 <table width="100%">
 <tbody>
 <tr valign="top">
 <td>
 <div align="right"><font face="sans-serif" size="1">To</font></div>
 </td>
 <td><font face="sans-serif" size="1"><a class="moz-txt-link-abbreviated" href="mailto:mat...@li...">mat...@li...</a></font>
 </td>
 </tr>
 <tr valign="top">
 <td>
 <div align="right"><font face="sans-serif" size="1">cc</font></div>
 </td>
 <td><br>
 </td>
 </tr>
 <tr valign="top">
 <td>
 <div align="right"><font face="sans-serif" size="1">Subject</font></div>
 </td>
 <td><font face="sans-serif" size="1">[Matplotlib-users]
PSD amplitudes</font></td>
 </tr>
 </tbody>
 </table>
 <br>
 <table>
 <tbody>
 <tr valign="top">
 <td>
 <br>
 </td>
 <td><br>
 </td>
 </tr>
 </tbody>
 </table>
 <br>
 </td>
 </tr>
 </tbody>
 </table>
 <br>
 <br>
 <br>
 <font color="#000066" size="3">Please try the attached script.<br>
The answer should be ~0 dB for each of the frequencies.<br>
Most likely a simple scaling issue/parameter of which i'm ignorant.<br>
 </font>
 <br>
 <font color="#000066" size="3"><tt>-- <br>
 </tt></font>
 <br>
 <font color="#000066" size="3"><br>
______________________________________________________________________<br>
This email has been scanned by the MessageLabs Email Security System.<br>
For more information please visit <a class="moz-txt-link-freetext" href="http://www.messagelabs.com/email">http://www.messagelabs.com/email</a> <br>
______________________________________________________________________</font><font
 size="2"><tt>##----------------------------------------------------------------------------<br>
## Name: &nbsp; &nbsp; psd_scale.py<br>
## &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>
## Purpose: &nbsp;Test Power Spectral Density of 1Vrms data<br>
## &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Depends on Python SciPy and NumPy<br>
## &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>
## Author: &nbsp; &nbsp; &nbsp; J Park<br>
##<br>
## Created: &nbsp; &nbsp; &nbsp;10/17/07<br>
##<br>
## Modified: &nbsp; &nbsp; <br>
##----------------------------------------------------------------------------<br>
 <br>
try:<br>
&nbsp; &nbsp;from numpy import * &nbsp;# <a class="moz-txt-link-abbreviated" href="http://www.numpy.org">www.numpy.org</a> numpy.scipy.org<br>
except ImportError: <br>
&nbsp; &nbsp;print "Failed to import numpy."<br>
&nbsp; &nbsp;<br>
try:<br>
&nbsp; &nbsp;import pylab as mp &nbsp;# matplotlib.sourceforge.net<br>
&nbsp; &nbsp;from matplotlib.font_manager import fontManager, FontProperties
 <br>
except ImportError: <br>
&nbsp; &nbsp;print "Failed to import pylab."<br>
&nbsp; &nbsp;<br>
 <br>
# Default Parameters<br>
nFFT &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1024 <br>
overlap &nbsp; &nbsp; &nbsp; = 512 &nbsp;<br>
freqSample &nbsp; &nbsp;= 100. <br>
PlotAll &nbsp; &nbsp; &nbsp; = False<br>
WriteOutput &nbsp; = False<br>
 <br>
##----------------------------------------------------------------------------<br>
## Main module<br>
def main():<br>
 <br>
&nbsp; &nbsp;deltaF = freqSample/nFFT # Frequency resolution in Hz<br>
&nbsp; &nbsp;deltaT = 1./freqSample &nbsp; # Sample interval<br>
&nbsp; &nbsp;print 'Sample interval %e (s)' &nbsp; &nbsp; &nbsp; % (deltaT)<br>
&nbsp; &nbsp;print 'Frequency resolution %e (Hz)' % (deltaF)<br>
 <br>
&nbsp; &nbsp;# Setup Plots<br>
&nbsp; &nbsp;#
----------------------------------------------------------------------<br>
&nbsp; &nbsp;mp.figure(1)<br>
&nbsp; &nbsp;mp.title ( "PSD" )<br>
&nbsp; &nbsp;mp.ylabel( "(dB)" )<br>
&nbsp; &nbsp;mp.xlabel( "Frequency (Hz)" )<br>
&nbsp; &nbsp;legendFont = FontProperties(size='small')<br>
 <br>
&nbsp; &nbsp;ymin = 0<br>
&nbsp; &nbsp;ymax = 30<br>
&nbsp; &nbsp;xmin = 0<br>
&nbsp; &nbsp;xmax = 50<br>
&nbsp; &nbsp;xticks = 5<br>
&nbsp; &nbsp;yticks = 5<br>
 <br>
&nbsp; &nbsp;if PlotAll:<br>
&nbsp; &nbsp; &nbsp; &nbsp;mp.figure(2)<br>
&nbsp; &nbsp; &nbsp; &nbsp;mp.title ( "Input Timeseries" )<br>
&nbsp; &nbsp; &nbsp; &nbsp;mp.ylabel( "Amplitude" )<br>
&nbsp; &nbsp; &nbsp; &nbsp;mp.xlabel( "time (s)" )<br>
 <br>
&nbsp; &nbsp;# Create some synthetic data with unity RMS amplitude = 0
dB<br>
&nbsp; &nbsp;#
----------------------------------------------------------------------<br>
&nbsp; &nbsp;t = mp.arange(0., 60., deltaT) # 60 seconds at deltaT interval<br>
&nbsp; &nbsp;A = 1.414<br>
&nbsp; &nbsp;<br>
&nbsp; &nbsp;y0 = A * sin( 2. * math.pi * 5 &nbsp;* t )<br>
&nbsp; &nbsp;y1 = A * sin( 2. * math.pi * 10 * t )<br>
&nbsp; &nbsp;y2 = A * sin( 2. * math.pi * 20 * t )<br>
&nbsp; &nbsp;y3 = A * sin( 2. * math.pi * 30 * t )<br>
&nbsp; &nbsp;y4 = A * sin( 2. * math.pi * 40 * t )<br>
&nbsp; &nbsp;y5 = A * sin( 2. * math.pi * 45 * t )<br>
 <br>
&nbsp; &nbsp;dataList = [ y0, y1, y2, y3, y4, y5 ]<br>
&nbsp; &nbsp;<br>
&nbsp; &nbsp;for data in dataList:<br>
&nbsp; &nbsp; &nbsp; &nbsp;inputDataLen = len( data )<br>
&nbsp; &nbsp; &nbsp; &nbsp;numAverages &nbsp;= math.floor( inputDataLen
/ (overlap) ) - 1<br>
&nbsp; &nbsp; &nbsp; &nbsp;normalizedRandomError = 1./math.sqrt( numAverages
)<br>
&nbsp; &nbsp; &nbsp; &nbsp;print "%d points" % ( inputDataLen
),<br>
&nbsp; &nbsp; &nbsp; &nbsp;print "%d averages" % (numAverages),<br>
&nbsp; &nbsp; &nbsp; &nbsp;print "normalized random error %.3f"
% ( normalizedRandomError )<br>
 <br>
&nbsp; &nbsp; &nbsp; &nbsp;mp.figure(1)<br>
&nbsp; &nbsp; &nbsp; &nbsp;(Pxx, freqs) = mp.psd( data,<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NFFT &nbsp; &nbsp; = nFFT,<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Fs &nbsp; &nbsp; &nbsp; = freqSample,<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; noverlap = overlap,<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lw &nbsp; &nbsp; &nbsp; = 2,<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; label &nbsp; &nbsp;= '' )<br>
 <br>
&nbsp; &nbsp; &nbsp; &nbsp;Pxx_dB = 10.*log10(Pxx)<br>
&nbsp; &nbsp; &nbsp; &nbsp;<br>
&nbsp; &nbsp; &nbsp; &nbsp;if PlotAll:<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mp.figure(2)<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mp.plot(t, data, label='' )<br>
 <br>
&nbsp; &nbsp; &nbsp; &nbsp;# Write Output data<br>
&nbsp; &nbsp; &nbsp; &nbsp;#
----------------------------------------------------------------------<br>
&nbsp; &nbsp; &nbsp; &nbsp;if WriteOutput:<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PxxLen = len(Pxx)<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;OutputFile = "PSD.dat"<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fdOutFile = open( OutputFile,
'a' )<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fdOutFile.write( "Freq\t\tPower(dB)\n"
)<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for i in range(PxxLen):<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fdOutFile.write(
"%.4e\t%.3f\n" % ( freqs[i], Pxx_dB[i] ) )<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fdOutFile.close()<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;print "Wrote ", PxxLen,
" points to ", OutputFile<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
 <br>
&nbsp; &nbsp;# Show the Plot<br>
&nbsp; &nbsp;#
----------------------------------------------------------------------<br>
&nbsp; &nbsp;mp.figure(1)<br>
&nbsp; &nbsp;mp.axis([xmin, xmax, ymin, ymax])<br>
&nbsp; &nbsp;mp.xticks( arange(xmin, xmax+1, xticks) )<br>
&nbsp; &nbsp;mp.yticks( arange(ymin, ymax &nbsp;, yticks) )<br>
&nbsp; &nbsp;mp.title('')<br>
&nbsp; &nbsp;mp.xlabel('Frequency (Hz)')<br>
&nbsp; &nbsp;mp.ylabel(r'$\tt{dB re V^2/Hz}$')<br>
&nbsp; &nbsp;#mp.legend( loc='upper right', prop=legendFont )<br>
&nbsp; &nbsp;if WriteOutput:<br>
&nbsp; &nbsp; &nbsp; &nbsp;plotFileName = "PSD.png"<br>
&nbsp; &nbsp; &nbsp; &nbsp;mp.savefig( plotFileName )<br>
&nbsp; &nbsp; &nbsp; &nbsp;print "Wrote png image to ", plotFileName<br>
&nbsp; &nbsp;if PlotAll:<br>
&nbsp; &nbsp; &nbsp; &nbsp;mp.figure(2)<br>
&nbsp; &nbsp; &nbsp; &nbsp;#mp.legend( loc='lower left', prop=legendFont
)<br>
&nbsp; &nbsp;mp.show()<br>
 <br>
&nbsp; &nbsp;print "Normal Exit"<br>
## Main module<br>
##----------------------------------------------------------------------------<br>
 <br>
##----------------------------------------------------------------------------<br>
## Provide for cmd line invocation<br>
if __name__ == "__main__":<br>
&nbsp; &nbsp;main()<br>
 <br>
-------------------------------------------------------------------------<br>
This SF.net email is sponsored by: Splunk Inc.<br>
Still grepping through log files to find problems? &nbsp;Stop.<br>
Now Search log events and configuration files using AJAX and a browser.<br>
Download your FREE copy of Splunk now &gt;&gt;
<a class="moz-txt-link-freetext" href="http://get.splunk.com/_______________________________________________">http://get.splunk.com/_______________________________________________</a><br>
Matplotlib-users mailing list<br>
<a class="moz-txt-link-abbreviated" href="mailto:Mat...@li...">Mat...@li...</a><br>
<a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/matplotlib-users">https://lists.sourceforge.net/lists/listinfo/matplotlib-users</a><br>
 </tt></font>
 <br>
 <br>
UNITED GROUP<br>
This email message is the property of United Group. The information in
this email is confidential and may be legally privileged. It is
intended solely for the addressee. Access to this email by anyone else
is unauthorised. If you are not the intended recipient, you may not
disclose, copy or distribute this email, nor take or omit to take any
action in reliance on it. United Group accepts no liability for any
damage caused by this email or any attachments due to viruses,
interference, interception, corruption or unauthorised access.<br>
If you have received this email in error, please notify United Group
immediately by email to the sender's email address and delete this
document.<br>
</blockquote>
<br>
<pre class="moz-signature" cols="80">-- 
</pre>
</body>
</html>
From: <bre...@un...> - 2007年10月26日 00:00:14
Are you sure that the answer should be zero? Shouldn't the PSD for a 
simple sine wave tend to infinity (depending on the resolution)?
Joseph Park <jp...@is...> 
Sent by: mat...@li...
26/10/2007 06:50 AM
To
mat...@li...
cc
Subject
[Matplotlib-users] PSD amplitudes
Please try the attached script.
The answer should be ~0 dB for each of the frequencies.
Most likely a simple scaling issue/parameter of which i'm ignorant.
-- 
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________
##----------------------------------------------------------------------------
## Name: psd_scale.py
## 
## Purpose: Test Power Spectral Density of 1Vrms data
## Depends on Python SciPy and NumPy
## 
## Author: J Park
##
## Created: 10/17/07
##
## Modified: 
##----------------------------------------------------------------------------
try:
 from numpy import * # www.numpy.org numpy.scipy.org
except ImportError: 
 print "Failed to import numpy."
 
try:
 import pylab as mp # matplotlib.sourceforge.net
 from matplotlib.font_manager import fontManager, FontProperties 
except ImportError: 
 print "Failed to import pylab."
 
# Default Parameters
nFFT = 1024 
overlap = 512 
freqSample = 100. 
PlotAll = False
WriteOutput = False
##----------------------------------------------------------------------------
## Main module
def main():
 deltaF = freqSample/nFFT # Frequency resolution in Hz
 deltaT = 1./freqSample # Sample interval
 print 'Sample interval %e (s)' % (deltaT)
 print 'Frequency resolution %e (Hz)' % (deltaF)
 # Setup Plots
 # 
----------------------------------------------------------------------
 mp.figure(1)
 mp.title ( "PSD" )
 mp.ylabel( "(dB)" )
 mp.xlabel( "Frequency (Hz)" )
 legendFont = FontProperties(size='small')
 ymin = 0
 ymax = 30
 xmin = 0
 xmax = 50
 xticks = 5
 yticks = 5
 if PlotAll:
 mp.figure(2)
 mp.title ( "Input Timeseries" )
 mp.ylabel( "Amplitude" )
 mp.xlabel( "time (s)" )
 # Create some synthetic data with unity RMS amplitude = 0 dB
 # 
----------------------------------------------------------------------
 t = mp.arange(0., 60., deltaT) # 60 seconds at deltaT interval
 A = 1.414
 
 y0 = A * sin( 2. * math.pi * 5 * t )
 y1 = A * sin( 2. * math.pi * 10 * t )
 y2 = A * sin( 2. * math.pi * 20 * t )
 y3 = A * sin( 2. * math.pi * 30 * t )
 y4 = A * sin( 2. * math.pi * 40 * t )
 y5 = A * sin( 2. * math.pi * 45 * t )
 dataList = [ y0, y1, y2, y3, y4, y5 ]
 
 for data in dataList:
 inputDataLen = len( data )
 numAverages = math.floor( inputDataLen / (overlap) ) - 1
 normalizedRandomError = 1./math.sqrt( numAverages )
 print "%d points" % ( inputDataLen ),
 print "%d averages" % (numAverages),
 print "normalized random error %.3f" % ( normalizedRandomError )
 mp.figure(1)
 (Pxx, freqs) = mp.psd( data,
 NFFT = nFFT,
 Fs = freqSample,
 noverlap = overlap,
 lw = 2,
 label = '' )
 Pxx_dB = 10.*log10(Pxx)
 
 if PlotAll:
 mp.figure(2)
 mp.plot(t, data, label='' )
 # Write Output data
 # 
----------------------------------------------------------------------
 if WriteOutput:
 PxxLen = len(Pxx)
 OutputFile = "PSD.dat"
 fdOutFile = open( OutputFile, 'a' )
 fdOutFile.write( "Freq\t\tPower(dB)\n" )
 for i in range(PxxLen):
 fdOutFile.write( "%.4e\t%.3f\n" % ( freqs[i], Pxx_dB[i] ) 
)
 fdOutFile.close()
 print "Wrote ", PxxLen, " points to ", OutputFile
 
 # Show the Plot
 # 
----------------------------------------------------------------------
 mp.figure(1)
 mp.axis([xmin, xmax, ymin, ymax])
 mp.xticks( arange(xmin, xmax+1, xticks) )
 mp.yticks( arange(ymin, ymax , yticks) )
 mp.title('')
 mp.xlabel('Frequency (Hz)')
 mp.ylabel(r'$\tt{dB re V^2/Hz}$')
 #mp.legend( loc='upper right', prop=legendFont )
 if WriteOutput:
 plotFileName = "PSD.png"
 mp.savefig( plotFileName )
 print "Wrote png image to ", plotFileName
 if PlotAll:
 mp.figure(2)
 #mp.legend( loc='lower left', prop=legendFont )
 mp.show()
 print "Normal Exit"
## Main module
##----------------------------------------------------------------------------
##----------------------------------------------------------------------------
## Provide for cmd line invocation
if __name__ == "__main__":
 main()
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Matplotlib-users mailing list
Mat...@li...
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
UNITED GROUP
This email message is the property of United Group. The information in this email is confidential and may be legally privileged. It is intended solely for the addressee. Access to this email by anyone else is unauthorised. If you are not the intended recipient, you may not disclose, copy or distribute this email, nor take or omit to take any action in reliance on it. United Group accepts no liability for any damage caused by this email or any attachments due to viruses, interference, interception, corruption or unauthorised access.
If you have received this email in error, please notify United Group immediately by email to the sender's email address and delete this document.
From: Joseph P. <jp...@is...> - 2007年10月25日 20:52:22
##----------------------------------------------------------------------------
## Name: psd_scale.py
## 
## Purpose: Test Power Spectral Density of 1Vrms data
## Depends on Python SciPy and NumPy
## 
## Author: J Park
##
## Created: 10/17/07
##
## Modified: 
##----------------------------------------------------------------------------
try:
 from numpy import * # www.numpy.org numpy.scipy.org
except ImportError: 
 print "Failed to import numpy."
 
try:
 import pylab as mp # matplotlib.sourceforge.net
 from matplotlib.font_manager import fontManager, FontProperties 
except ImportError: 
 print "Failed to import pylab."
 
# Default Parameters
nFFT = 1024 
overlap = 512 
freqSample = 100. 
PlotAll = False
WriteOutput = False
##----------------------------------------------------------------------------
## Main module
def main():
 deltaF = freqSample/nFFT # Frequency resolution in Hz
 deltaT = 1./freqSample # Sample interval
 print 'Sample interval %e (s)' % (deltaT)
 print 'Frequency resolution %e (Hz)' % (deltaF)
 # Setup Plots
 # ----------------------------------------------------------------------
 mp.figure(1)
 mp.title ( "PSD" )
 mp.ylabel( "(dB)" )
 mp.xlabel( "Frequency (Hz)" )
 legendFont = FontProperties(size='small')
 ymin = 0
 ymax = 30
 xmin = 0
 xmax = 50
 xticks = 5
 yticks = 5
 if PlotAll:
 mp.figure(2)
 mp.title ( "Input Timeseries" )
 mp.ylabel( "Amplitude" )
 mp.xlabel( "time (s)" )
 # Create some synthetic data with unity RMS amplitude = 0 dB
 # ----------------------------------------------------------------------
 t = mp.arange(0., 60., deltaT) # 60 seconds at deltaT interval
 A = 1.414
 
 y0 = A * sin( 2. * math.pi * 5 * t )
 y1 = A * sin( 2. * math.pi * 10 * t )
 y2 = A * sin( 2. * math.pi * 20 * t )
 y3 = A * sin( 2. * math.pi * 30 * t )
 y4 = A * sin( 2. * math.pi * 40 * t )
 y5 = A * sin( 2. * math.pi * 45 * t )
 dataList = [ y0, y1, y2, y3, y4, y5 ]
 
 for data in dataList:
 inputDataLen = len( data )
 numAverages = math.floor( inputDataLen / (overlap) ) - 1
 normalizedRandomError = 1./math.sqrt( numAverages )
 print "%d points" % ( inputDataLen ),
 print "%d averages" % (numAverages),
 print "normalized random error %.3f" % ( normalizedRandomError )
 mp.figure(1)
 (Pxx, freqs) = mp.psd( data,
 NFFT = nFFT,
 Fs = freqSample,
 noverlap = overlap,
 lw = 2,
 label = '' )
 Pxx_dB = 10.*log10(Pxx)
 
 if PlotAll:
 mp.figure(2)
 mp.plot(t, data, label='' )
 # Write Output data
 # ----------------------------------------------------------------------
 if WriteOutput:
 PxxLen = len(Pxx)
 OutputFile = "PSD.dat"
 fdOutFile = open( OutputFile, 'a' )
 fdOutFile.write( "Freq\t\tPower(dB)\n" )
 for i in range(PxxLen):
 fdOutFile.write( "%.4e\t%.3f\n" % ( freqs[i], Pxx_dB[i] ) )
 fdOutFile.close()
 print "Wrote ", PxxLen, " points to ", OutputFile
 
 # Show the Plot
 # ----------------------------------------------------------------------
 mp.figure(1)
 mp.axis([xmin, xmax, ymin, ymax])
 mp.xticks( arange(xmin, xmax+1, xticks) )
 mp.yticks( arange(ymin, ymax , yticks) )
 mp.title('')
 mp.xlabel('Frequency (Hz)')
 mp.ylabel(r'$\tt{dB re V^2/Hz}$')
 #mp.legend( loc='upper right', prop=legendFont )
 if WriteOutput:
 plotFileName = "PSD.png"
 mp.savefig( plotFileName )
 print "Wrote png image to ", plotFileName
 if PlotAll:
 mp.figure(2)
 #mp.legend( loc='lower left', prop=legendFont )
 mp.show()
 print "Normal Exit"
## Main module
##----------------------------------------------------------------------------
##----------------------------------------------------------------------------
## Provide for cmd line invocation
if __name__ == "__main__":
 main()
From: <hu...@ya...> - 2007年10月25日 20:31:48
Yep that can be a good idea. I don't know anything on how mathtext is worki=
ng=20
but I'm not completely sure that the problem is with freetype because=20
sometime that can work. In reality every character I tested worked but you=
=20
have to put in a certain order. To understand a little bit more what I try =
to=20
say (very badly) see the script join and the figure.=20
=20
I hope that can help a little bit to try to find the reason of this behavio=
ur.
N
Le Thursday 25 October 2007 15:41:40 Michael Droettboom, vous avez =C3=A9cr=
it=C2=A0:
> Darren Dale wrote:
> > Hi Mike,
> >
> > On Tuesday 23 October 2007 09:05:56 am Michael Droettboom wrote:
> >> Unfortunately, I can't reproduce this on my machine even with the late=
st
> >> stable version of freetype-2.5.3 (which is the same version in Ubuntu
> >> Gutsy).
> >
> > I think you mean freetype-2.3.5. I also have that version installed,
> > although the mpl setup script is reporting 9.16.3.
>
> Yes. freetype-2.3.5. There are arcane historical reasons I don't fully
> comprehend why the pkgconfig version doesn't match the release version
> (and why freetype2 is called freetype6 on Debian and derivatives)...
> but my numbers do match yours.
>
> >> The Ubuntu/Debian package of freetype has a lot of patches
> >> applied, and I don't know if they are causing this (but from the looks
> >> of them, I doubt it).
> >>
> >> Can you set debug.verbose to "annoying" and send me the output of your
> >> matplotlib run? I want to rule out any font-loading problems.
> >
> > It's attached. I'm running 64bit gentoo, everything compiled with
> > gcc-4.2.2, in case its relevent.
>
> Always good to have more details, but I'm sort of at a loss on this one,
> especially since I can't reproduce it.
>
> Maybe we need to take a poll on this list of who is working and who
> isn't to see what the source of the breakage may be...
>
> Cheers,
> Mike
From: Michael D. <md...@st...> - 2007年10月25日 19:41:59
Darren Dale wrote:
> Hi Mike,
> 
> On Tuesday 23 October 2007 09:05:56 am Michael Droettboom wrote:
>> Unfortunately, I can't reproduce this on my machine even with the latest
>> stable version of freetype-2.5.3 (which is the same version in Ubuntu
>> Gutsy).
> 
> I think you mean freetype-2.3.5. I also have that version installed, although 
> the mpl setup script is reporting 9.16.3.
Yes. freetype-2.3.5. There are arcane historical reasons I don't fully 
comprehend why the pkgconfig version doesn't match the release version 
(and why freetype2 is called freetype6 on Debian and derivatives)... 
but my numbers do match yours.
>> The Ubuntu/Debian package of freetype has a lot of patches 
>> applied, and I don't know if they are causing this (but from the looks
>> of them, I doubt it).
>>
>> Can you set debug.verbose to "annoying" and send me the output of your
>> matplotlib run? I want to rule out any font-loading problems.
> 
> It's attached. I'm running 64bit gentoo, everything compiled with gcc-4.2.2, 
> in case its relevent.
Always good to have more details, but I'm sort of at a loss on this one, 
especially since I can't reproduce it.
Maybe we need to take a poll on this list of who is working and who 
isn't to see what the source of the breakage may be...
Cheers,
Mike
>> Michael Droettboom wrote:
>>> I can't reproduce this bug on my own machine with SVN head. I suspect
>>> this is freetype2 related -- that's the library that actually performs
>>> the rendering of the characters for the Agg backend. The fact the
>>> humufr saw this after upgrading to Gutsy suggests there might have been
>>> change to freetype that is now revealing possibly an incorrect usage
>>> in matplotlib. Can you please send the version of freetype you are
>>> using? (pkg-config --modversion freetype2)
>>>
>>> My machine has the (fairly old) 2.1.9.
>>>
>>> I'm going to try installing the latest freetype and see if I can
>>> reproduce this bug.
>>>
>>> [I believe this is an instance of the same bug that Darren sent me
>>> off-list.]
>>>
>>> Cheers,
>>> Mike
>>>
>>> hu...@ya... wrote:
>>>> Sorry I didn't know the difference...
>>>>
>>>> N.
>>>>
>>>> Le Friday 19 October 2007 10:52:25 Darren Dale, vous avez écrit :
>>>>> On Friday 19 October 2007 10:38:36 am hu...@ya... wrote:
>>>>>> Le Friday 19 October 2007 08:37:00 Darren Dale, vous avez écrit :
>>>>>>> On Thursday 18 October 2007 11:49:50 am hu...@ya... wrote:
>>>>>>>> 	Hi,
>>>>>>>>
>>>>>>>> I have a small problem with label.
>>>>>>>>
>>>>>>>>
>>>>>>>> plot([0,1],[0,1])
>>>>>>>> xlabel(r'$ABCDEF$',fontsize=35)
>>>>>>>>
>>>>>>>> (but the size doesn't change anything) I obtain the result visible
>>>>>>>> on the figure join. I think there are a problem when using latex and
>>>>>>>> how the first character is handle.
>>>>>>> I don't think its a problem with matplotlib; I can't reproduce the
>>>>>>> problem on my machine. Maybe its an issue with your dvipng? I'm using
>>>>>>> version 1.9.
>>>>>> Oups I found the problem, I don't know why because it was working fine
>>>>>> before the upgrade to gutsy but I have to change matplotlib
>>>>>> configuration and everything is working fine if I put in the file:
>>>>>>
>>>>>> rc('text', usetex=True)
>>>>> In your first email you said you were using latex, but you were
>>>>> actually using mathtext. I can confirm the problem when I disable
>>>>> usetex and instead use mathtext. Mike, is this something easy to fix?
>>>>>
>>>>> Darren
>>>> ------------------------------------------------------------------------
>>>> - This SF.net email is sponsored by: Splunk Inc.
>>>> Still grepping through log files to find problems? Stop.
>>>> Now Search log events and configuration files using AJAX and a browser.
>>>> Download your FREE copy of Splunk now >> http://get.splunk.com/
>>>> _______________________________________________
>>>> 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: David D C. <dd...@la...> - 2007年10月25日 19:18:05
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello folks,
I have a Gaussian peak centered on zero. When the plot is drawn on
screen with the GTKAgg backend, the peak is shown in the correct place.
 When I either click on the disk icon and save the plot as eps or use
savefig, the peak is shifted to the left of zero by several x axis units.
I am using Python 2.5 with matplotlib 0.90.1 and numpy 1.0.3. and scipy
0.5.1 in my script. These are running on my Fedora 7 box. I compiled
and installed mpl 0.90.1 this morning because I noticed this behavior
with python-matplotlib-0.90.0 that I had installed with yum. I also see
this behavior if I run my script from the command line and from ipython
0.8.1.
When I save using PNG, the peak is in the correct place. My Mac also
saves both EPS and PNG correctly.
Any thoughts?
Dave
- --
David D. Clark
Electrical Engineer
P-23, Neutron Science and Technology
e-mail mailto:dd...@la...
GPG Public key 0x018D6523 available at http://pgp.mit.edu
http://www.gnupg.org has information about public key cryptography
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
iD8DBQFHIOunNu7GcwGNZSMRAlKnAJ46KFuJVNN0rC6EHgredtUHYZyvdQCgqQNG
OiwS8VN/qZ1ula37vDP7Q88=
=/1De
-----END PGP SIGNATURE-----
From: Bernhard V. <ber...@gm...> - 2007年10月25日 08:56:20
A simple solution would be:
numbers, text = yticks()
mytext = ['%.2f' % n for n in numbers]
yticks(numbers, mytext)
If you need fancier formatting look at Ticker and Formatter API
http://matplotlib.sourceforge.net/matplotlib.ticker.html
For sure there's something about this in the examples as well.
Best! Bernhard
On 10/23/07, pyt...@ma... <pyt...@ma...> wrote:
>
> Hi guys.
> I'm just a newbie at matplotlib. I couldn't find the answer on my
> quistion in project's docs.
> I've wrote the following code:
> from pylab import *
> semilogy([1, 5, 2, 3, 1, 6], basey=2)
> show()
>
>
> It works OK but I'd like to see usual decimal numbers instead of 2^0,
> 2^1, 2^2 ... on y axis.
> How can I do that?
> Thnx.
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems? Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
From: Shannon J. <sdj...@uc...> - 2007年10月24日 23:59:18
Hi all,
Just a quick question for the guru's out there. I'm working on a 
project that includes lots
of plotting. We'd like to be able to do the plots through a C/C++ 
interface but I've been
unable to find any documentation on it.
Does anyone know where I can find any docs on the C interface?
Thanks
Shannon
--------------------------------
Shannon Jaeger
SB 532B, Dept. of Physics & Astronomy - ALMA
University of Calgary, 2500 University Dr, Calgary, AB, T2N 1N4
sdj...@uc...
+1 403 210 8495
From: Darren D. <dar...@co...> - 2007年10月24日 12:26:36
Attachments: mathtext-debug.log
Hi Mike,
On Tuesday 23 October 2007 09:05:56 am Michael Droettboom wrote:
> Unfortunately, I can't reproduce this on my machine even with the latest
> stable version of freetype-2.5.3 (which is the same version in Ubuntu
> Gutsy).
I think you mean freetype-2.3.5. I also have that version installed, althou=
gh=20
the mpl setup script is reporting 9.16.3.
> The Ubuntu/Debian package of freetype has a lot of patches=20
> applied, and I don't know if they are causing this (but from the looks
> of them, I doubt it).
>
> Can you set debug.verbose to "annoying" and send me the output of your
> matplotlib run? I want to rule out any font-loading problems.
It's attached. I'm running 64bit gentoo, everything compiled with gcc-4.2.2=
,=20
in case its relevent.
Darren
> Michael Droettboom wrote:
> > I can't reproduce this bug on my own machine with SVN head. I suspect
> > this is freetype2 related -- that's the library that actually performs
> > the rendering of the characters for the Agg backend. The fact the
> > humufr saw this after upgrading to Gutsy suggests there might have been
> > change to freetype that is now revealing possibly an incorrect usage
> > in matplotlib. Can you please send the version of freetype you are
> > using? (pkg-config --modversion freetype2)
> >
> > My machine has the (fairly old) 2.1.9.
> >
> > I'm going to try installing the latest freetype and see if I can
> > reproduce this bug.
> >
> > [I believe this is an instance of the same bug that Darren sent me
> > off-list.]
> >
> > Cheers,
> > Mike
> >
> > hu...@ya... wrote:
> >> Sorry I didn't know the difference...
> >>
> >> N.
> >>
> >> Le Friday 19 October 2007 10:52:25 Darren Dale, vous avez =E9crit :
> >>> On Friday 19 October 2007 10:38:36 am hu...@ya... wrote:
> >>>> Le Friday 19 October 2007 08:37:00 Darren Dale, vous avez =E9crit :
> >>>>> On Thursday 18 October 2007 11:49:50 am hu...@ya... wrote:
> >>>>>> 	Hi,
> >>>>>>
> >>>>>> I have a small problem with label.
> >>>>>>
> >>>>>>
> >>>>>> plot([0,1],[0,1])
> >>>>>> xlabel(r'$ABCDEF$',fontsize=3D35)
> >>>>>>
> >>>>>> (but the size doesn't change anything) I obtain the result visible
> >>>>>> on the figure join. I think there are a problem when using latex a=
nd
> >>>>>> how the first character is handle.
> >>>>>
> >>>>> I don't think its a problem with matplotlib; I can't reproduce the
> >>>>> problem on my machine. Maybe its an issue with your dvipng? I'm usi=
ng
> >>>>> version 1.9.
> >>>>
> >>>> Oups I found the problem, I don't know why because it was working fi=
ne
> >>>> before the upgrade to gutsy but I have to change matplotlib
> >>>> configuration and everything is working fine if I put in the file:
> >>>>
> >>>> rc('text', usetex=3DTrue)
> >>>
> >>> In your first email you said you were using latex, but you were
> >>> actually using mathtext. I can confirm the problem when I disable
> >>> usetex and instead use mathtext. Mike, is this something easy to fix?
> >>>
> >>> Darren
> >>
> >> ----------------------------------------------------------------------=
=2D-
> >>- This SF.net email is sponsored by: Splunk Inc.
> >> Still grepping through log files to find problems? Stop.
> >> Now Search log events and configuration files using AJAX and a browser.
> >> Download your FREE copy of Splunk now >> http://get.splunk.com/
> >> _______________________________________________
> >> Matplotlib-users mailing list
> >> Mat...@li...
> >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
=2D-=20
Darren S. Dale, Ph.D.
Staff Scientist
Cornell High Energy Synchrotron Source
Cornell University
275 Wilson Lab
Rt. 366 & Pine Tree Road
Ithaca, NY 14853
dar...@co...
office: (607) 255-3819
fax: (607) 255-9001
http://www.chess.cornell.edu
From: Christian L. <li...@pe...> - 2007年10月24日 02:28:15
On 2007年10月18日 21:10:24 -1000
Eric Firing <ef...@ha...> wrote:
> Christian Lerrahn wrote:
> > Hi,
> > when I plot 2D data with imshow() and then add a contour plot, my
> > contours have an offset in relation to the data. At the same time
> > there is white space at the edge of my plot, so I assume that it is
> > the imshow plot that actually gets shifted. I'm new to Python and
> > matplotlib, so I don't really understand that. Can anybody give me a
> > hint about how to get rid of this offset?
> 
> In the examples subdirectory of the mpl distribution, see
> contour_image.py.
Thanks. With the example and a bit of try and error, I now got it to
work. :)
Cheers,
Christian
From: Christian L. <li...@pe...> - 2007年10月24日 02:27:28
Hi,
I sometimes get the error
Warning: overflow encountered in short_scalars
when I'm trying to plot certain data. When I searched a bit what I
could find on this problem, I came across
http://projects.scipy.org/pipermail/numpy-discussion/2007-May/027933.html
At least in one case where I had the problem, the claim there that it
has to do with too many values being to close to the highest value
possible in Int16 is right for my data. However, I'm not sure if it
always applies when that error occurs.
Can anybody tell me how to work around this and still get valid plots
with this kind of data?
Cheers,
Christian
From: Joshua J. K. <jo...@ee...> - 2007年10月24日 02:00:24
On Thursday 11 October 2007 17:41, Stephen George wrote:
> Hi Joshua,
>
> > As you can see from the attached graph, there is a break the in graph
> > somewhere around 7 AM or so. This is the data I am graphing for that red
> > line:
> >
> > "2007-10-09 00:00:00",0.015
> > "2007-10-09 01:00:00",0.015
> > "2007-10-09 02:00:00",0.014
> > "2007-10-09 03:00:00",0.012
> > "2007-10-09 04:00:00",0.008
> > "2007-10-09 05:00:00",0.002
> > "2007-10-09 06:00:00",-0.006
>
> <snip>
>
> > If I change the -0.006 at 6:00AM to 0.006, it graphs with no break in the
> > line.
>
> Can not comment on Matplotlib, ... but what method are you using the
> process your input?
> RegEx or other ?, can it handle negative input?
Sigh...it wasn't matplotlib after all. Being very unfamiliar with the code I 
was exploring, I failed to notice that there was a function filtering data, 
and clipping it at 0.00. Change it, and all is well. Just FYI.
j
-- 
Joshua Kugler 
Lead System Admin -- Senior Programmer
http://www.eeinternet.com
PGP Key: http://pgp.mit.edu/ ID 0xDB26D7CE
PO Box 80086 -- Fairbanks, AK 99708 -- Ph: 907-456-5581 Fax: 907-456-3111
From: <pyt...@ma...> - 2007年10月23日 18:27:50
Hi guys.
I'm just a newbie at matplotlib. I couldn't find the answer on my 
quistion in project's docs.
I've wrote the following code:
from pylab import *
semilogy([1, 5, 2, 3, 1, 6], basey=2)
show()
It works OK but I'd like to see usual decimal numbers instead of 2^0, 
2^1, 2^2 ... on y axis.
How can I do that?
Thnx.
From: Michael D. <md...@st...> - 2007年10月23日 13:06:22
Unfortunately, I can't reproduce this on my machine even with the latest 
stable version of freetype-2.5.3 (which is the same version in Ubuntu 
Gutsy). The Ubuntu/Debian package of freetype has a lot of patches 
applied, and I don't know if they are causing this (but from the looks 
of them, I doubt it).
Can you set debug.verbose to "annoying" and send me the output of your 
matplotlib run? I want to rule out any font-loading problems.
Cheers,
Mike
Michael Droettboom wrote:
> I can't reproduce this bug on my own machine with SVN head. I suspect 
> this is freetype2 related -- that's the library that actually performs 
> the rendering of the characters for the Agg backend. The fact the 
> humufr saw this after upgrading to Gutsy suggests there might have been 
> change to freetype that is now revealing possibly an incorrect usage 
> in matplotlib. Can you please send the version of freetype you are 
> using? (pkg-config --modversion freetype2)
> 
> My machine has the (fairly old) 2.1.9.
> 
> I'm going to try installing the latest freetype and see if I can 
> reproduce this bug.
> 
> [I believe this is an instance of the same bug that Darren sent me 
> off-list.]
> 
> Cheers,
> Mike
> 
> hu...@ya... wrote:
>> Sorry I didn't know the difference...
>>
>> N.
>>
>> Le Friday 19 October 2007 10:52:25 Darren Dale, vous avez écrit :
>>> On Friday 19 October 2007 10:38:36 am hu...@ya... wrote:
>>>> Le Friday 19 October 2007 08:37:00 Darren Dale, vous avez écrit :
>>>>> On Thursday 18 October 2007 11:49:50 am hu...@ya... wrote:
>>>>>> 	Hi,
>>>>>>
>>>>>> I have a small problem with label.
>>>>>>
>>>>>>
>>>>>> plot([0,1],[0,1])
>>>>>> xlabel(r'$ABCDEF$',fontsize=35)
>>>>>>
>>>>>> (but the size doesn't change anything) I obtain the result visible on
>>>>>> the figure join. I think there are a problem when using latex and how
>>>>>> the first character is handle.
>>>>> I don't think its a problem with matplotlib; I can't reproduce the
>>>>> problem on my machine. Maybe its an issue with your dvipng? I'm using
>>>>> version 1.9.
>>>> Oups I found the problem, I don't know why because it was working fine
>>>> before the upgrade to gutsy but I have to change matplotlib configuration
>>>> and everything is working fine if I put in the file:
>>>>
>>>> rc('text', usetex=True)
>>> In your first email you said you were using latex, but you were actually
>>> using mathtext. I can confirm the problem when I disable usetex and instead
>>> use mathtext. Mike, is this something easy to fix?
>>>
>>> Darren
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by: Splunk Inc.
>> Still grepping through log files to find problems? Stop.
>> Now Search log events and configuration files using AJAX and a browser.
>> Download your FREE copy of Splunk now >> http://get.splunk.com/
>> _______________________________________________
>> 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: Michael D. <md...@st...> - 2007年10月23日 12:36:47
I can't reproduce this bug on my own machine with SVN head. I suspect 
this is freetype2 related -- that's the library that actually performs 
the rendering of the characters for the Agg backend. The fact the 
humufr saw this after upgrading to Gutsy suggests there might have been 
 change to freetype that is now revealing possibly an incorrect usage 
in matplotlib. Can you please send the version of freetype you are 
using? (pkg-config --modversion freetype2)
My machine has the (fairly old) 2.1.9.
I'm going to try installing the latest freetype and see if I can 
reproduce this bug.
[I believe this is an instance of the same bug that Darren sent me 
off-list.]
Cheers,
Mike
hu...@ya... wrote:
> Sorry I didn't know the difference...
> 
> N.
> 
> Le Friday 19 October 2007 10:52:25 Darren Dale, vous avez écrit :
>> On Friday 19 October 2007 10:38:36 am hu...@ya... wrote:
>>> Le Friday 19 October 2007 08:37:00 Darren Dale, vous avez écrit :
>>>> On Thursday 18 October 2007 11:49:50 am hu...@ya... wrote:
>>>>> 	Hi,
>>>>>
>>>>> I have a small problem with label.
>>>>>
>>>>>
>>>>> plot([0,1],[0,1])
>>>>> xlabel(r'$ABCDEF$',fontsize=35)
>>>>>
>>>>> (but the size doesn't change anything) I obtain the result visible on
>>>>> the figure join. I think there are a problem when using latex and how
>>>>> the first character is handle.
>>>> I don't think its a problem with matplotlib; I can't reproduce the
>>>> problem on my machine. Maybe its an issue with your dvipng? I'm using
>>>> version 1.9.
>>> Oups I found the problem, I don't know why because it was working fine
>>> before the upgrade to gutsy but I have to change matplotlib configuration
>>> and everything is working fine if I put in the file:
>>>
>>> rc('text', usetex=True)
>> In your first email you said you were using latex, but you were actually
>> using mathtext. I can confirm the problem when I disable usetex and instead
>> use mathtext. Mike, is this something easy to fix?
>>
>> Darren
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems? Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> _______________________________________________
> 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: Matthieu B. <mat...@gm...> - 2007年10月22日 20:25:08
Hi,
I'm trying to integrate a Figure Canvas with a ToolBar in an application
that uses a noteboo for displaying several graphs.
My problem is that using a NotebookPanel leads to the FigureCanvas taking
all the space in the panel, the toolbar is not usable (it isn't even
displayed with a light gray background) and so are other widgets I want to
use.
If I replace the NotebookPage by Frame, everything works fine (but it is not
integrated in my application...).
Is there something that we should know about the use of FigureCanvas in a
Panel ?
Matthieu
1 message has been excluded from this view by a project administrator.

Showing results of 247

<< < 1 2 3 4 5 .. 10 > >> (Page 3 of 10)
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 によって変換されたページ (->オリジナル) /