[Matplotlib-users] irregularly spaced grids and imshow....
Hello everybody, we are looking for the best way to plot a waterfall diagram in Matplotlib. The 2 functions which could be used to do that are (as far as I have found) imshow and pcolormesh. Here is a small script that use both to compare the output: - from pylab import * delta = 0.2 x = arange(-3.0, 3.0, delta) y = arange(-2.0, 2.0, delta) X, Y = meshgrid(x, y) Z1 = bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0) Z2 = bivariate_normal(X, Y, 1.5, 0.5, 1, 1) # difference of Gaussians Z = 10.0 * (Z2 - Z1) figure(1) im = imshow(Z,extent=(-3,3,-2,2)) CS = contour(X, -Y, Z, 6, colors='k', # negative contours will be dashed by default ) clabel(CS, fontsize=9, inline=1) title('Using imshow') figure(2) im = pcolormesh(X,-Y,Z) CS = contour(X, -Y, Z, 6, colors='k', # negative contours will be dashed by default ) clabel(CS, fontsize=9, inline=1) title('Using pcolormesh') show() - The problem is that we need some of the flexibility of pcolormesh (which is able to map the matrix of value on any deformed mesh), while we would like to use the interpolations available in imshow (which explain why the imshow version is much smoother than the pcolormesh one). In fact, what would be needed is not the full flexibility of pacolormesh (which can map the grid to any kind of shape), we only have to deal with rectangular grids with irregularly spaced x- and y- graduations. Is there a drawing function in Matplotlib which would be able to work with such a rectangular non-uniform grid? And if not, what about an extension of imshow which would work as this: im = imshow(Z,x_gridpos=x, y_gridpos=y) #specify explicitely the position of the grid's node, instead of giving the extend and assuming uniform spacing. Longer term, would a pcolormesh accepting interpolation be possible? The current behavior, averaging the color of the grids node to get a uniform cell color, is quite rough except for a large number of cells...And even then, it soon shows when you zoom in... The best would be to allow the same interpolations as in imshow (or a subset of it), and also allows to use interpolation before colormap lookup (or after), like in Matlab. Indeed, Matlab allows to finely tune interpolation by specifying Gouraud (interpolation after color lookup)/Phong(interpolation before color lookup, i.e. for each pixel). Phong is usually much better but also more CPU intensive. Phong is especially when using discrete colormap, producing banded colors equivalent to countour lines, while Gouraud does not work in those cases. Of course, the performance will be impacted by some of those interpolation options, which would degrade performance in animations for example but I think that having the different options available would be very useful, it allows to have the highest map quality, or have a quick and dirty map depending on situation (grid spacing, type of map, animation or not, ...). Best regards, Greg. - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Installation woes: phantom Numpy version?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 John, Thanks for your help. | | Most likely there is another version of numpy on your system that easy | install is picking up (multiple versions of python perhaps?). You | might try to find them with | |find / -name numpy -type d | Indeed, this did turn up another installation, and I am now searching for a third, even older one. I wish I understood the layout of /Library better...or that there was only a single site-packages directory for each version of Python :) Once I weed them all out, I will give the egg another shot. I would still like to be able to build it from source, though, so I can stay up to date. | Did you edit setupext.py to remove the basedir settings ans Charlie | recommended? Also, let's make sure that the files in your ld path are | there and of the right type? What does | |file /usr/local/src/mpl-build/libpng-1.2.29/libpng* | | return? I did in fact edit setupext.py, and the 'darwin' key of basedir is set to an empty list. The file command does report universal binaries for libpng*; the relevant output lines are: libpng-1.2.29/libpng.a:Mach-O universal binary with 2 architectures libpng-1.2.29/libpng.a (for architecture i386): current ar archive random library libpng-1.2.29/libpng.a (for architecture ppc): current ar archive random library (There are similar messages for the various .o and .lo files.) | One other option is to try following the build instructions I posted | at http://ipython.scipy.org/moin/Py4Science/InstallationOSX Actually, the reason I went with the whole hog method of compiling libpng and freetype from source was that I was running into a similar architecture error when I tried compiling against the freetype and libpng in /usr/X11R6. Perhaps there is some deeper include path issue that I can't see? - -- Richard Lawrence Research Coordinator Computational Memory Lab [EMAIL PROTECTED] 215-746-0407 -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.8 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkibA/QACgkQCWv7yMGrSa/s0gCfe5/0oyGIHWq+z7cNuJc1lYaJ unwAniu5qwOwTXaKpjegPjnX5PBBJTlP =RUYR -END PGP SIGNATURE- - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] Contour/Contourf Plot Heatmap - Grid - Multiple Items
Hi, I have been using matplotlib for about 2 weeks now. I thought it would be good to try plotting heatmaps to show some data. The idea: I have 100 values all ranging from 0.00 to 1.00, I would like to create a graph with a 10 by 10 grid. Therefore each value has 1 section of the grid. So, for example if the value was 0.10, the colour would be blue, or if 0.95, the colour red. Now the problem is I do not know how to access each individual grid position, I guess I would have some form of counter system to count 0 - 9 on the X axis and 0 - 9 on the Y also. Here is my pseudo code: ## Count1 = 0 ## For the X axis Count2 = 0 ## For the Y axis Max = 0 ## To count 0 - 99 ListValues = [0.11, 0.09, 0.34, 0.44, 0.29, all the way to 100 values] while Max 100: if Count1 == 10: Count2 = Count2 + 1 ## Increase the Y axis by one Count1 = 0 ## If X axis counter = 10, reset it to 0 else: GridPosition = [] GridPosition.append(Count1) GridPosition.append(Count2) GridValue = ListValues[Max] # Now armed with the GridPosition and GridValue, im stuck on how to plot the square... ## So as you can see from above, I have the data ready to fill the relevant grid position, just unsure on how to actually do it! Just to clarify, this is a heatmap, so the GridValue should correspond to a colour and fill that particular square with the colour from the colorbar i.e. levels = arange(0.0, 1.0, 0.025) Thank you in advance for any help. -- View this message in context: http://www.nabble.com/Contour-Contourf-Plot-Heatmap---Grid---Multiple-Items-tp18872991p18872991.html Sent from the matplotlib - users mailing list archive at Nabble.com. - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Installation woes: phantom Numpy version?
On Wed, Aug 6, 2008 at 5:02 PM, Richard Lawrence [EMAIL PROTECTED] wrote: My setup is: Mac Pro PPC G5, OS X 10.5.4 Python 2.5.1 (Apple build) Numpy 1.2.0.dev5615 -- ran svn update and rebuilt this morning REQUIRED DEPENDENCIES ~* numpy 1.1 or later is required; you have ~* 1.0.5.dev4673 Apple distributed a version of numpy with the system python, and set up sys.path so that their stuff would be found before site-packages, so you may be getting Apple's version of numpy rather than the one you built and installed. (I'm not running 10.5, so I can't supply details) There are ways to work around this -- a little googling should help you figure it out, but I recommend that you avoid the whole problem (and others) by installing python.org's build of 2.5.2, and go from there -- the binaries on the numpy site are built for that version. -Chris -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/ORR(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 the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Contour/Contourf Plot Heatmap - Grid - Multiple Items
Hi Pete, Thanks for the quick response. Will imshow() actually plot the graph? Do I not need to do something like: contourf(X, Y, Z, levels) Thanks -- View this message in context: http://www.nabble.com/Contour-Contourf-Plot-Heatmap---Grid---Multiple-Items-tp18872991p18874222.html Sent from the matplotlib - users mailing list archive at Nabble.com. - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users