From: Brian B. <b-m...@bb...> - 2005-03-30 20:59:26
|
Hello, I graph of weather data from a CGI script using the Agg backend only. The graph is a common time vs. temperature 2D line plot. Since the graph plots every n minutes, the lines on the graph tend to look pointed and not very aesthetically pleasing (as many people have informed me.) I did some research and found I needed to do curve fitting. I'm trying to use 8th order polynomial fitting. I have found a sample on the Web that shows how to use matplotlib to do a best-fit line from polyfit, but I want a curve that follows the curve of weather temperature data. I plot the data using a list of X-coordinates and a list of Y-coordinates. I assume I can call polyfit with (x,y,8) for 8th order polynomial fitting. However, I am not sure what to do with the results. I have tried to translate the 1st order polyfit example for my needs but I don't think I am using the polyfit data correctly. Also, it has been suggested that a spline or Butterworth filter on the data may yield more predictable results. I have found some of this functionality in SciPy and a nifty module in a language called Octave. Would matplotlib benefit from this? Any assistance is much appreciated. I'm just starting out on this type of stuff but it is fascinating to work with! Thank you, Brian |
From: John H. <jdh...@ac...> - 2005-03-31 14:54:53
|
>>>>> "Brian" == Brian B <b-m...@bb...> writes: Brian> Hello, I graph of weather data from a CGI script using the Brian> Agg backend only. The graph is a common time Brian> vs. temperature 2D line plot. Since the graph plots every n Brian> minutes, the lines on the graph tend to look pointed and Brian> not very aesthetically pleasing (as many people have Brian> informed me.) I did some research and found I needed to do Brian> curve fitting. Brian> I'm trying to use 8th order polynomial fitting. I have Brian> found a sample on the Web that shows how to use matplotlib Brian> to do a best-fit line from polyfit, but I want a curve that Brian> follows the curve of weather temperature data. Brian> I plot the data using a list of X-coordinates and a list of Brian> Y-coordinates. I assume I can call polyfit with (x,y,8) Brian> for 8th order polynomial fitting. However, I am not sure Brian> what to do with the results. I have tried to translate the Brian> 1st order polyfit example for my needs but I don't think I Brian> am using the polyfit data correctly. You would need to use polyval to get the results of polyfit (there is an example in the matplotlib Users Guide in the Cookbook chapter for a 3rd order fit), but I don't think you want to use an 8-th order polynomial for this -- as you indicate below, a spline or a filter is a better choice. Brian> Also, it has been suggested that a spline or Butterworth Brian> filter on the data may yield more predictable results. I Brian> have found some of this functionality in SciPy and a nifty Brian> module in a language called Octave. Would matplotlib Brian> benefit from this? Use spline if you want a curve that passes through all your data, use butterworth or convolution if you want to smooth your data. scipy is your best bet -- scipy spline and a butterworth filter examples from my scipy examples directory are included. In general, we try to stay focused on plotting in matplotlib rather than algorithms, and leave algorithms to the scipy folks. They are working hard on getting a modular package that is easy to install. I think it would be useful to provide some wrappers around scipy in the matplotlib.mlab module that exposed a matlab interface to some of their algorithms, with imports done in such a way that having the additional scipy functionality would be optional Here is a scipy spline example, plotted with mpl from scipy import arange, sin, pi, interpolate from pylab import plot, show # Cubic-spline t = arange(0, 2.0, 0.1) y = sin(2*pi*t) tck = interpolate.splrep(t, y, s=0) tnew = arange(0, 2.0, 0.01) ynew = interpolate.splev(tnew, tck, der=0) plot(t, y, 'o', tnew, ynew) show() And here is a butterworth filter. Note that filters can introduce phase shifts in your data (illustrated in this example) so use with caution! from __future__ import division from scipy import signal, arange, sin, pi, linspace, transpose from RandomArray import normal from pylab import plot, show, subplot from scipy.signal import buttord, butter, lfilter dt = 0.001 t = arange(0.0, 10.0, dt) nse = normal(0.0, 0.1, t.shape) #s = s = normal(0.0, 1.0, (len(t),22)) for i in range(22): s[:,i] += sin(2*pi*t) lpcf = 3 lpsf = 5 Nyq = 1/(2*dt) Rp = 2 Rs = 20 Wp = lpcf/Nyq Ws = lpsf/Nyq [n,Wn] = buttord(Wp,Ws,Rp,Rs) [b,a] = butter(n,Wn) xlp = transpose(lfilter(b,a,transpose(s))) subplot(311) plot(t, s[:,0]) subplot(312) plot(t, xlp[:,0]) subplot(313) plot(t, xlp[:,1]) show() Brian> Any assistance is much appreciated. I'm just starting out Brian> on this type of stuff but it is fascinating to work with! Have fun! JDH |
From: kristen k. <co...@ya...> - 2005-07-30 10:18:56
|
Dear John When running the tex_demo.py script I just get a gray figure canvas (no curves or anything) and the following error message: __________________________________________________ Exception in Tkinter callback Traceback (most recent call last): File "C:\Python24\lib\lib-tk\Tkinter.py", line 1345, in __call__ return self.func(*args) File "C:\Python24\Lib\site-packages\matplotlib\backends\backend_tkagg.py", line 148, in resize self.show() File "C:\Python24\Lib\site-packages\matplotlib\backends\backend_tkagg.py", line 151, in draw FigureCanvasAgg.draw(self) File "C:\Python24\Lib\site-packages\matplotlib\backends\backend_agg.py", line 381, in draw self.figure.draw(renderer) File "C:\Python24\Lib\site-packages\matplotlib\figure.py", line 511, in draw for a in self.axes: a.draw(renderer) File "C:\Python24\Lib\site-packages\matplotlib\axes.py", line 1387, in draw self.xaxis.draw(renderer) File "C:\Python24\Lib\site-packages\matplotlib\axis.py", line 552, in draw tick.draw(renderer) File "C:\Python24\Lib\site-packages\matplotlib\axis.py", line 151, in draw if self.label1On: self.label1.draw(renderer) File "C:\Python24\Lib\site-packages\matplotlib\text.py", line 848, in draw self._mytext.draw(renderer) File "C:\Python24\Lib\site-packages\matplotlib\text.py", line 335, in draw bbox, info = self._get_layout(renderer) File "C:\Python24\Lib\site-packages\matplotlib\text.py", line 184, in _get_layout w,h = renderer.get_text_width_height( File "C:\Python24\Lib\site-packages\matplotlib\backends\backend_agg.py", line 241, in get_text_width_height Z = self.texmanager.get_rgba(s, size, dpi, rgb) File "C:\Python24\Lib\site-packages\matplotlib\texmanager.py", line 296, in get_rgba X = readpng(pngfile) RuntimeError: _image_module::readpng could not open PNG file C:\Documents and Settings\Kristen\.matplotlib\tex.cache\30565a8911a6bb487e3745c0ea3c8224_96.png for reading ______________________________________________________ Any idea of what I'm missing?? Kristen __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: Gary R. <gr...@bi...> - 2005-07-30 12:57:21
|
Hi Kristen, Last time I looked (a couple of weeks ago), there were problems in this area of matplotlib with LaTeX not being invoked properly. Can you please tell us what version of Windows, matplotlib and which LaTeX distribution you are using. I was intending to have another look at the code in a week or so from now. I'm unable to spend time on it until then. However, it looks like someone has made more recent changes to the relevant code, so I'd encourage you to try the latest version of matplotlib if the version you're using is more that a couple of weeks old. You may find that the problem you are seeing has been fixed. Please report back if you have success after doing this. Gary R. kristen kaasbjerg wrote: > Dear John > > When running the tex_demo.py script I just get a gray > figure canvas (no curves or anything) and the > following error message: > __________________________________________________ > Exception in Tkinter callback > Traceback (most recent call last): > File "C:\Python24\lib\lib-tk\Tkinter.py", line 1345, > in __call__ > return self.func(*args) > File > "C:\Python24\Lib\site-packages\matplotlib\backends\backend_tkagg.py", > line 148, in resize > self.show() > File > "C:\Python24\Lib\site-packages\matplotlib\backends\backend_tkagg.py", > line 151, in draw > FigureCanvasAgg.draw(self) > File > "C:\Python24\Lib\site-packages\matplotlib\backends\backend_agg.py", > line 381, in draw > self.figure.draw(renderer) > File > "C:\Python24\Lib\site-packages\matplotlib\figure.py", > line 511, in draw > for a in self.axes: a.draw(renderer) > File > "C:\Python24\Lib\site-packages\matplotlib\axes.py", > line 1387, in draw > self.xaxis.draw(renderer) > File > "C:\Python24\Lib\site-packages\matplotlib\axis.py", > line 552, in draw > tick.draw(renderer) > File > "C:\Python24\Lib\site-packages\matplotlib\axis.py", > line 151, in draw > if self.label1On: self.label1.draw(renderer) > File > "C:\Python24\Lib\site-packages\matplotlib\text.py", > line 848, in draw > self._mytext.draw(renderer) > File > "C:\Python24\Lib\site-packages\matplotlib\text.py", > line 335, in draw > bbox, info = self._get_layout(renderer) > File > "C:\Python24\Lib\site-packages\matplotlib\text.py", > line 184, in _get_layout > w,h = renderer.get_text_width_height( > File > "C:\Python24\Lib\site-packages\matplotlib\backends\backend_agg.py", > line 241, in get_text_width_height > Z = self.texmanager.get_rgba(s, size, dpi, rgb) > File > "C:\Python24\Lib\site-packages\matplotlib\texmanager.py", > line 296, in get_rgba > X = readpng(pngfile) > RuntimeError: _image_module::readpng could not open > PNG file C:\Documents and > Settings\Kristen\.matplotlib\tex.cache\30565a8911a6bb487e3745c0ea3c8224_96.png > for reading > ______________________________________________________ > > Any idea of what I'm missing?? > > Kristen |
From: Alan G I. <ai...@am...> - 2005-07-30 13:03:22
|
On Sat, 30 Jul 2005, Gary Ruben apparently wrote: > Last time I looked (a couple of weeks ago), there were problems in this > area of matplotlib with LaTeX not being invoked properly. How does Matplotlib find TeX? Can it be directed to a specific distribution? Thanks, Alan |
From: Darren D. <dd...@co...> - 2005-07-30 13:05:45
|
On Saturday 30 July 2005 08:52 am, Gary Ruben wrote: > Hi Kristen, > Last time I looked (a couple of weeks ago), there were problems in this > area of matplotlib with LaTeX not being invoked properly. > Can you please tell us what version of Windows, matplotlib and which > LaTeX distribution you are using. > I was intending to have another look at the code in a week or so from > now. I'm unable to spend time on it until then. However, it looks like > someone has made more recent changes to the relevant code, so I'd > encourage you to try the latest version of matplotlib if the version > you're using is more that a couple of weeks old. You may find that the > problem you are seeing has been fixed. > Please report back if you have success after doing this. > Gary R. Sascha found some problems with the way commands were being passed, which only effected windows. I commited her patches. Sascha, could you comment?. |
From: kristen k. <co...@ya...> - 2005-07-30 13:27:04
|
Hi Gary I'm using windows XP, matplotlib 0.83.2, python 2.4 and latex2e. Kristen --- Gary Ruben <gr...@bi...> wrote: > Hi Kristen, > Last time I looked (a couple of weeks ago), there > were problems in this > area of matplotlib with LaTeX not being invoked > properly. > Can you please tell us what version of Windows, > matplotlib and which > LaTeX distribution you are using. > I was intending to have another look at the code in > a week or so from > now. I'm unable to spend time on it until then. > However, it looks like > someone has made more recent changes to the relevant > code, so I'd > encourage you to try the latest version of > matplotlib if the version > you're using is more that a couple of weeks old. You > may find that the > problem you are seeing has been fixed. > Please report back if you have success after doing > this. > Gary R. > > kristen kaasbjerg wrote: > > Dear John > > > > When running the tex_demo.py script I just get a > gray > > figure canvas (no curves or anything) and the > > following error message: > > __________________________________________________ > > Exception in Tkinter callback > > Traceback (most recent call last): > > File "C:\Python24\lib\lib-tk\Tkinter.py", line > 1345, > > in __call__ > > return self.func(*args) > > File > > > "C:\Python24\Lib\site-packages\matplotlib\backends\backend_tkagg.py", > > line 148, in resize > > self.show() > > File > > > "C:\Python24\Lib\site-packages\matplotlib\backends\backend_tkagg.py", > > line 151, in draw > > FigureCanvasAgg.draw(self) > > File > > > "C:\Python24\Lib\site-packages\matplotlib\backends\backend_agg.py", > > line 381, in draw > > self.figure.draw(renderer) > > File > > > "C:\Python24\Lib\site-packages\matplotlib\figure.py", > > line 511, in draw > > for a in self.axes: a.draw(renderer) > > File > > > "C:\Python24\Lib\site-packages\matplotlib\axes.py", > > line 1387, in draw > > self.xaxis.draw(renderer) > > File > > > "C:\Python24\Lib\site-packages\matplotlib\axis.py", > > line 552, in draw > > tick.draw(renderer) > > File > > > "C:\Python24\Lib\site-packages\matplotlib\axis.py", > > line 151, in draw > > if self.label1On: self.label1.draw(renderer) > > File > > > "C:\Python24\Lib\site-packages\matplotlib\text.py", > > line 848, in draw > > self._mytext.draw(renderer) > > File > > > "C:\Python24\Lib\site-packages\matplotlib\text.py", > > line 335, in draw > > bbox, info = self._get_layout(renderer) > > File > > > "C:\Python24\Lib\site-packages\matplotlib\text.py", > > line 184, in _get_layout > > w,h = renderer.get_text_width_height( > > File > > > "C:\Python24\Lib\site-packages\matplotlib\backends\backend_agg.py", > > line 241, in get_text_width_height > > Z = self.texmanager.get_rgba(s, size, dpi, > rgb) > > File > > > "C:\Python24\Lib\site-packages\matplotlib\texmanager.py", > > line 296, in get_rgba > > X = readpng(pngfile) > > RuntimeError: _image_module::readpng could not > open > > PNG file C:\Documents and > > > Settings\Kristen\.matplotlib\tex.cache\30565a8911a6bb487e3745c0ea3c8224_96.png > > for reading > > > ______________________________________________________ > > > > Any idea of what I'm missing?? > > > > Kristen > > > > > ------------------------------------------------------- > SF.Net email is sponsored by: Discover Easy Linux > Migration Strategies > from IBM. Find simple to follow Roadmaps, > straightforward articles, > informative Webcasts and more! Get everything you > need to get up to > speed, fast. > http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > ____________________________________________________ Start your day with Yahoo! - make it your home page http://www.yahoo.com/r/hs |
From: Gary R. <gr...@bi...> - 2005-07-30 13:47:46
|
Hi Kristen, Looks like you're using the latest version of the relevant file from cvs, so I'm not sure what's going on. We'll have to hope for comment from the others. I just wanted to say thanks for that version information which may help me when I look at this stuff again in a couple of weeks. I hope others can sort out your problem in the meantime. Gary R. kristen kaasbjerg wrote: > Hi Gary > > I'm using windows XP, matplotlib 0.83.2, python 2.4 > and latex2e. > > Kristen <snip> |
From: Alan G I. <ai...@am...> - 2005-07-30 13:03:21
|
On Sat, 30 Jul 2005, kristen kaasbjerg apparently wrote: > RuntimeError: _image_module::readpng could not open > PNG file C:\Documents and > Settings\Kristen\.matplotlib\tex.cache\30565a8911a6bb487e3745c0ea3c8224_96.png > for reading > ______________________________________________________ > Any idea of what I'm missing?? Not really, but I wonder if it is related to my problem below. Both look like a temp file cannot be found. I am on Win2000; how about you? Alan Isaac Traceback (most recent call last): File "C:\temp8.py", line 30, in ? savefig('/temp.eps') File "C:\Python24\Lib\site-packages\matplotlib\pylab.py", line 773, in savefig return fig.savefig(*args, **kwargs) File "C:\Python24\Lib\site-packages\matplotlib\figure.py", line 636, in savefig self.canvas.print_figure(*args, **kwargs) File "C:\Python24\Lib\site-packages\matplotlib\backends\backend_tkagg.py", line 179, in print_figure agg.print_figure(filename, dpi, facecolor, edgecolor, orientation) File "C:\Python24\Lib\site-packages\matplotlib\backends\backend_agg.py", line 474, in print_figure ps.print_figure(filename, dpi, facecolor, edgecolor, orientation) File "C:\Python24\Lib\site-packages\matplotlib\backends\backend_ps.py", line 1103, in print_figure shutil.move(epsfile, outfile) File "C:\Python24\lib\shutil.py", line 189, in move copy2(src,dst) File "C:\Python24\lib\shutil.py", line 92, in copy2 copyfile(src, dst) File "C:\Python24\lib\shutil.py", line 47, in copyfile fsrc = open(src, 'rb') IOError: [Errno 2] No such file or directory: '80bc875819e5bf1b449889aadd91b3af.eps' |
From: Darren D. <dd...@co...> - 2005-07-30 14:24:07
|
On Saturday 30 July 2005 06:18 am, kristen kaasbjerg wrote: > Dear John > > When running the tex_demo.py script I just get a gray > figure canvas (no curves or anything) and the > following error message: [...] > "C:\Python24\Lib\site-packages\matplotlib\texmanager.py", > line 296, in get_rgba > X = readpng(pngfile) > RuntimeError: _image_module::readpng could not open > PNG file C:\Documents and > Settings\Kristen\.matplotlib\tex.cache\30565a8911a6bb487e3745c0ea3c8224_96. >png for reading > ______________________________________________________ > > Any idea of what I'm missing?? Do you have dvipng installed? -- Darren |
From: kristen k. <co...@ya...> - 2005-08-01 11:10:42
|
Hi matplotliber's (windows users) A few days ago I reported problems with the tex_demo.py script. Some solutions have been found meanwhile. First of all, matplotlibrc is NOT put in the intended directory upon istallation. It resides in the old share\matplotlib\. This must be done manually!! Secondly, when using TeX to create figure text, make sure that the directories where dvipng.exe, latex.exe, gs.exe etc are present in the system variable Path. For most latex/miktex installation this will probably be: C:\texmf\miktex\bin and C:\gs\. I have still not made it work using the PS backend. Somewhere there is an eps and tex file that has not been put in the .matplotlib\tex.cache directory. Also, much of the text doesn't come out correctly in the figures, so there are still problems when using TeX on Windows!! Kristen __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: Gary R. <gr...@bi...> - 2005-08-01 12:37:16
|
Hi Kristen, The PS backend is broken on my Win2k system too. I can only save as png, which isn't all that useful. I reported this a few weeks ago and I hope to get a chance to look at it next week to see if I can work out what's going on. It's good to get confirmation that it's not just my Windows installation that's doing this. Gary R. kristen kaasbjerg wrote: > Hi matplotliber's (windows users) > > A few days ago I reported problems with the > tex_demo.py script. Some solutions have been found > meanwhile. > > First of all, matplotlibrc is NOT put in the intended > directory upon istallation. It resides in the old > share\matplotlib\. This must be done manually!! > > Secondly, when using TeX to create figure text, make > sure that the directories where dvipng.exe, latex.exe, > gs.exe etc are present in the system variable Path. > For most latex/miktex installation this will probably > be: C:\texmf\miktex\bin and C:\gs\. > > I have still not made it work using the PS backend. > Somewhere there is an eps and tex file that has not > been put in the .matplotlib\tex.cache directory. > > Also, much of the text doesn't come out correctly in > the figures, so there are still problems when using > TeX on Windows!! > > Kristen |
From: Darren D. <dd...@co...> - 2005-08-01 12:47:22
|
On Monday 01 August 2005 08:36 am, Gary Ruben wrote: > The PS backend is broken on my Win2k system too. I can only save as png, > which isn't all that useful. I reported this a few weeks ago and I hope > to get a chance to look at it next week to see if I can work out what's > going on. > It's good to get confirmation that it's not just my Windows installation > that's doing this. Do you mean ps is broken with TeX support, or it is broken period? I will defend in a couple of weeks, so unfortunately I don't have time to bug hunt for a while. I should be back on the ball soon. Darren |
From: Gary R. <gr...@bi...> - 2005-08-01 14:58:15
|
Darren Dale wrote: > On Monday 01 August 2005 08:36 am, Gary Ruben wrote: <snip> > Do you mean ps is broken with TeX support, or it is broken period? Just the TeX->ps support is broken. |
From: John H. <jdh...@ac...> - 2005-08-01 13:47:01
|
>>>>> "kristen" == kristen kaasbjerg <co...@ya...> writes: kristen> First of all, matplotlibrc is NOT put in the intended kristen> directory upon istallation. It resides in the old kristen> share\matplotlib\. This must be done manually!! There seems to be some confusion on this point, because Mark Bakker reported the same problem. matplotlib has never move the rc file from the default location share\matplotlib to the user location, because new installs would overwrite the user specific configuration. I think the confusion is that on windows, we never had a default user location for the rc file. I'll explain how it has always worked under linux/unix; maybe this will make it clear how it should now work under windows. matplotlib installs the rc file to /usr/share/matplotlib/matplotlibrc. You can copy this file to your configuration directory, HOME/.matplotlibrc, and this file will be used first if it exists. That way future installs to /usr/share/matplotlib will not mess up your local configurations. On windows, the default path is c:\Python23\share\matplotlib. If you want to customize this file, you should move it to C:\Documents and Settings\yourname\.matplotlib. Could you all test with a clean install of matplotlig (remove site-packages/matplotlib, share/matplotlib and C:\Documents and Settings\yourname\.matplotlib before reinstalling) that this procedure works properly? Thanks, JDH kristen> Secondly, when using TeX to create figure text, make sure kristen> that the directories where dvipng.exe, latex.exe, gs.exe kristen> etc are present in the system variable Path. For most kristen> latex/miktex installation this will probably be: kristen> C:\texmf\miktex\bin and C:\gs\. kristen> I have still not made it work using the PS backend. kristen> Somewhere there is an eps and tex file that has not been kristen> put in the .matplotlib\tex.cache directory. Could you update the UsingTex wiki at http://www.scipy.org/wikis/topical_software/UsingTex with this information, under a win32 section? Thanks, JDH |