Re: [Matplotlib-users] Plotting 3D skymap surfaces
Adam Mercer wrote: > On 09/10/2007, Jeff Whitaker <[EMAIL PROTECTED]> wrote: > > >> Adam: If you can convert your coordinates into latitudes and >> longitudes, then you can plot the data with the basemap tookit on your >> choice of map projection (see >> http://www.scipy.org/Cookbook/Matplotlib/Maps for an example). >> > > Following that example I'm running into a few problems, this is the code I > have: > > map = > Basemap(projection='ortho',lat_0=50,lon_0=-100,resolution='l',area_thresh=1000.) > map.drawmeridians(pylab.arange(0,360,30)) > map.drawparallels(pylab.arange(-90,90,30)) > map.contour(lat, lon, values) > > where lat is an array of the latitude, lon the corresponding latitude > and values the value of the quantity I want to plot, this results in > the error: > > Traceback (most recent call last): > File "./plot_skymap.py", line 54, in ? > map.contour(lat, lon, values) > File > "/opt/local/lib/python2.4/site-packages/matplotlib/toolkits/basemap/basemap.py", > line 2484, in contour > xx = x[x.shape[0]/2,:] > IndexError: too many indices > > Can anyone give me any pointers, on what the problem is here? > > Cheers > > Adam > Adam: If lat and lon are 2D arrays containing the lats and lons of the grid in degrees, you first need to convert to map projection coordinates using the map instance: x,y = map(lons, lats) (if lons and lats are 1D, you can use pylab.meshgrid to make them 2D first) Then you pass contour the x, y values map.contour(x,y,values) For filled contours use contourf. Are you sure you want an orthographic projection? I thought sky maps used a stereographic projection (http://www.progonos.com/furuti/MapProj/Normal/ProjAppl/projAppl.html). -Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 NOAA/OAR/CDC R/PSD1FAX : (303)497-6449 325 BroadwayBoulder, CO, USA 80305-3328 - 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 Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Problem with .png files?
Great! Glad to know I wasn't going crazy ;) Cheers, Mike Wayne E. Harlan wrote: > By the time I did the update it was at 3931 but it works just fine. I > inserted the 6"x8" picture into swriter and it shows up at 6"x8". > Thank you very much ! > > Wayne > > Michael Droettboom wrote: >> Wayne E. Harlan wrote: >>> Michael: >>> >>> Both r3927 and r3929 resulted in the smaller png file that's just >>> transparent background. >> >> The point of interest is r3926, before this change. r3927 and r3929 >> are identical on the trunk. >> >> It turns out there was a peculiarity with how image files are saved in >> the GtkAgg backend that was triggering this bug. That should now be >> fixed in r3930. Please try that and let me know how that works for you. >> >>> It's roughly 20% of the size of the file I get with the latest >>> release, 0.90.1, which opens fine (but has the wrong dpi). That >>> tells me that on my system, some stuff just isn't getting written to >>> the file. I have attached my matplotlibrc and will read the docs to >>> see how to save a raw image and attach that, too. I don't have >>> ImageMagick, but can download and compile it later today. I tried a >>> 300 dpi jpg with r3929 and the image saves OK but has the wrong dpi >>> (72). The .raw image is also attached. It was over 17 MB so I >>> bzipped it. I'm surprised it ended up at 700 bytes ! >> >> That raw file is fully white and transparent also. >> >> Hope that helps, >> Mike >> >>> Wayne >>> >>> Michael Droettboom wrote: Unfortunately, I'm not able to reproduce this here with the .py you attached. Both SVN r3926 (before the PNG resolution change) and SVN r3927 (after the PNG resolution change) work for me. Are you comparing those two SVN revisions, or SVN vs. 0.90.1? I can confirm that the PNG you attached is all white and fully transparent. Just for information, my machine (RHEL4) has libpng 1.2.7. Can you send a copy of your matplotlibrc? Also, can you save out a .raw image? (If you rename it to foo.rgba, you can display these images with the ImageMagick command "display -size 1800x1200 -depth 8 foo.rgba") That would help determine whether the problem is in the PNG-writing code or something higher up. Cheers, Mike Wayne E. Harlan wrote: > Michael: > > I tried a complete checkout for comparison (3929). In the > meantime, my libpng is 1.2.18 (installed from source as is > everything - this is an LFS/BLFS system.) Yes, the plot was > working before the change and I can send you some png's from that > if you need to see them, or I can backtrack to 0.90.1 and repeat > this. Please bear in mind that the plot displays (and always has) > quite correctly on screen - it's just the saved file that consists > of just background. I have attached the script, the resulting png > and a saved screenshot from the Gimp. Attachments are gzipped. > > Wayne > > Michael Droettboom wrote: >> Hmmm. I'm very surprised that this change could cause that. All >> it does is add an additional metadata chunk to the PNG file, which >> shouldn't have any affect on the image data itself. >> simple_plot.py works fine for me in GIMP 2.0.5 both before and >> after this change. Can you verify that this plot was working >> before the change to save the resolution in the PNG file? If so, >> can you send me the source for your plot and the PNG file? Also, >> what version of libpng are you using? (pkg-config --version libpng >> should display this on most recent Linux distros). >> >> -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA - 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 Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] Update and replot data at a regular time rate
Hi everyone! I would write down an MPL script that loads a block data, generated on the fly (in a file) by another computing program, at a regular time rate, let's say every 30". The script may have an "exit button" to stop it, and it might proceed this way: 1. time = time_old 2. Load the "data" from lines 0 to -1(EOF) 3. Save "data" length: N = len(data) 4. plot 5. After time_new-time_old = time_step 5a. load "data_tmp" from lines N to -1 5b. extend "data" with "data_tmp" 5c. plot 5d. Go back to step 5, or press "Stop" button Does anyone have an idea how to encode this purpose? Thanks. -- View this message in context: http://www.nabble.com/Update-and-replot-data-at-a-regular-time-rate-tf4600152.html#a13133808 Sent from the matplotlib - users mailing list archive at Nabble.com. - 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 Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Update and replot data at a regular time rate
sidimok ha scritto: I would write down an MPL script that loads a block data, generated on the fly (in a file) by another computing program, at a regular time rate, let's say every 30". The script may have an "exit button" to stop it, and it might proceed this way: 1. time = time_old 2. Load the "data" from lines 0 to -1(EOF) 3. Save "data" length: N = len(data) 4. plot 5. After time_new-time_old = time_step 5a. load "data_tmp" from lines N to -1 5b. extend "data" with "data_tmp" 5c. plot 5d. Go back to step 5, or press "Stop" button Does anyone have an idea how to encode this purpose? I don't really understand what the problem is. If you don't you know how to wait a definite time between loading the file, have a look at the time module: http://docs.python.org/lib/module-time.html especially time.sleep() m. -- Massimo Sandal University of Bologna Department of Biochemistry "G.Moruzzi" snail mail: Via Irnerio 48, 40126 Bologna, Italy email: [EMAIL PROTECTED] tel: +39-051-2094388 fax: +39-051-2094387 begin:vcard fn:Massimo Sandal n:Sandal;Massimo org:University of Bologna;Department of Biochemistry adr:;;Via Irnerio 48;Bologna;;40126;Italy email;internet:[EMAIL PROTECTED] tel;work:+39-051-2094388 tel;fax:+39-051-2094387 x-mozilla-html:FALSE version:2.1 end:vcard - 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 Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Update and replot data at a regular time rate
On Oct 10, 2007, at 12:53 PM, massimo sandal wrote: > sidimok ha scritto: >> I would write down an MPL script that loads a block data, >> generated on the >> fly (in a file) by another computing program, at a regular time >> rate, let's >> say every 30". The script may have an "exit button" to stop it, >> and it might >> proceed this way: >> 1. time = time_old >> 2. Load the "data" from lines 0 to -1(EOF) >> 3. Save "data" length: N = len(data) >> 4. plot >> 5. After time_new-time_old = time_step >>5a. load "data_tmp" from lines N to -1 >>5b. extend "data" with "data_tmp" >>5c. plot >>5d. Go back to step 5, or press "Stop" button >> Does anyone have an idea how to encode this purpose? > > I don't really understand what the problem is. If you don't you > know how > to wait a definite time between loading the file, have a look at the > time module: > > http://docs.python.org/lib/module-time.html > > especially time.sleep() > > m. I would venture a guess that the problem is how to update the plot. I have not investigated this problem, but I have a hard time figuring out how matplotlib deals with updating plots after plot.show() has been called to plot to the screen the first time. Cheers Tommy - 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 Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Update and replot data at a regular time rate
>> I would venture a guess that the problem is how to update the plot. That's it! -- View this message in context: http://www.nabble.com/Update-and-replot-data-at-a-regular-time-rate-tf4600152.html#a13141806 Sent from the matplotlib - users mailing list archive at Nabble.com. - 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 Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Update and replot data at a regular time rate
sidimok wrote: >>> I would venture a guess that the problem is how to update the plot. There are issues with calling Show() more than once - you may be able to set the interactive mode and get it to work. the other option is to write a very simple app with a GUI toolkit -- see the embedding in ** examples. If you want to do wxPython, you can use wxmpl to wrap MPL, and building a little app with wxTimer and a stop button would be really easy. -Chris -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R(206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception [EMAIL PROTECTED] - 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 Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users