Re: [matplotlib-devel] Contouring unstructured triangular grids
Replying to everyone at the same time: (spot the person in the UK!) Chris Barker wrote: That would be better as (ntri, 3), to be compatible with the usual C ordering of numpy arrays. Of course. John Hunter wrote: I am a little concerned about the hand wrapped python part because of the possibilities of introducing memory leaks and difficulties it may pose in the matplotlib 2-3 transition. snip It would probably be beneficial, but by no means required, to use CXX to expose the C++ part to python so take a look if you are inclined. I've taken a look at CXX and it looks like a much more pleasant solution, so I'm happy to use that instead. I'm also a bit concerned by the maintenance aspect, since this is a fairly sophisticated piece of code. We'd be looking for a commitment to support it if we include it in mpl. Understood. I'm uneasy about making a major commitment at this stage as I'm new to open source contributions, so how about you ask me again when I've submitted the code and people have had the chance to review/correct/admire/destroy it? Eric Firing wrote: One possibility would be to develop the tri* functionality at least initially as a module in lib/mpl_toolkits, like axes_grid and mplot3d; or in a module in lib/matplotlib. This could still take advantage of refactoring in contour.py. An advantage is that it would consolidate the triangle functionality so it would be easier to find, track, and document. I like the idea of putting it in its own directory under lib/matplotlib. What sort of timeline do you have in mind? I am currently between jobs, which leaves me plenty of spare time for interesting projects. I reckon I should have something worthy of consideration in 2 weeks time. Ian -- Download Intel#174; Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
Re: [matplotlib-devel] Proposal for Broken Axes
What would be great is if you could refactor the basic functionality into a matplotlib.Axes.breaky method (and possibly breakx but most people request a broken y axis), which would resize the self axes and return the broken compliment which could be plotted onto. Then you could provide a thin pyplot wrapper much like pyplot.twinx, so that pyplot as well as API users could benefit. I can try to do this. I think I would prefer, however, not to resize the self axes and continue with my current approach of creating two new axes within the original axes. On the user end, I think it makes more sense to set the title and ylabel of the main axes, rather than setting them for the individual upper and lower axes. More on that below. The only real problems here is that you need to explicitly plot things on both the upper and lower axes, and then I haven't figured out how to push out the y-axis label of the main axes object so it doesn't overlap with the tick labels of the upper and lower axes. So, I instead moved the y-labels of the upper and lower axes so that they appear at the center of the axis, but this is problematic. Any thoughts on how to do that part better? klukas, I'm afraid I don't understand your issue... Can you explain using it differently? In my approach, you end up with a main axes object that is invisible, and then two visible axes objects (upper and lower) within the main axes. I would ideally like to have the y label display in the middle of the main y-axis, independent of where the break lies. If I place a y label on the main axes (which has ticks or tick labels), though, it appears right up against the axis line. I'd like it to be placed further to the left, clear of the tick labels that appear on the upper and lower axes. So, I'd like to be able to access whatever algorithm is used to choose the offset of the axis label, and explicitly set the offset of the ylabel for the main axes so that it clears the tick labels. // Jeff -- Download Intel#174; Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
Re: [matplotlib-devel] [Python-modules-team] Bug#573179: AttributeError: 'numpy.bool_' object has no attribute '_mask' whenever imshow'ing masked array
forwarded 573179 matplotlib-devel@lists.sourceforge.net thanks Hello Matplotlib developers, I'm forwarding this bug a Debian user reported some days ago. It would be nice it you could give it a look Thanks in advance, Sandro On Tue, Mar 9, 2010 at 17:05, Yaroslav Halchenko deb...@onerussian.com wrote: Package: python-matplotlib Version: 0.99.1.2-3 Severity: normal throws an exception while comparing two masked arrays which have no values (all masked out)... sure thing it can't determine vmin/vmax to be used (unless clim is used explicitely), but the exception which is thrown is non-informative. I thought that upstream might want to make it more user-friendly -- please forward upstream. Here is the code to reproduce: import pylab as pl import numpy as np size = (5, 5) d = np.ones(size) mask = d.astype(bool) md = np.ma.masked_array(d, mask) pl.imshow(md) # explicit clim would eliminate the problem #pl.clim(0, 1) pl.colorbar() and here is the traceback: Traceback (most recent call last): File /usr/lib/python2.5/lib-tk/Tkinter.py, line 1417, in __call__ return self.func(*args) File /usr/lib/pymodules/python2.5/matplotlib/backends/backend_tkagg.py, line 212, in resize self.show() File /usr/lib/pymodules/python2.5/matplotlib/backends/backend_tkagg.py, line 215, in draw FigureCanvasAgg.draw(self) File /usr/lib/pymodules/python2.5/matplotlib/backends/backend_agg.py, line 314, in draw self.figure.draw(self.renderer) File /usr/lib/pymodules/python2.5/matplotlib/artist.py, line 46, in draw_wrapper draw(artist, renderer, *kl) File /usr/lib/pymodules/python2.5/matplotlib/figure.py, line 773, in draw for a in self.axes: a.draw(renderer) File /usr/lib/pymodules/python2.5/matplotlib/artist.py, line 46, in draw_wrapper draw(artist, renderer, *kl) File /usr/lib/pymodules/python2.5/matplotlib/axes.py, line 1701, in draw im.draw(renderer) File /usr/lib/pymodules/python2.5/matplotlib/artist.py, line 46, in draw_wrapper draw(artist, renderer, *kl) File /usr/lib/pymodules/python2.5/matplotlib/image.py, line 237, in draw im = self.make_image(renderer.get_image_magnification()) File /usr/lib/pymodules/python2.5/matplotlib/image.py, line 182, in make_image x = self.to_rgba(self._A, self._alpha) File /usr/lib/pymodules/python2.5/matplotlib/cm.py, line 166, in to_rgba x = self.norm(x) File /usr/lib/pymodules/python2.5/matplotlib/colors.py, line 763, in __call__ elif vmin==vmax: File /usr/lib/python2.5/site-packages/numpy/ma/core.py, line 3119, in __eq__ check._mask = mask AttributeError: 'numpy.bool_' object has no attribute '_mask' -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (901, 'unstable'), (900, 'testing'), (300, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.31-1-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages python-matplotlib depends on: ii libatk1.0-0 1.28.0-1 The ATK accessibility toolkit ii libc6 2.10.2-5 Embedded GNU C Library: Shared lib ii libcairo2 1.8.8-2 The Cairo 2D vector graphics libra ii libfontconfig1 2.8.0-2 generic font configuration library ii libfreetype6 2.3.11-1 FreeType 2 font engine, shared lib ii libgcc1 1:4.4.2-2 GCC support library ii libglib2.0-0 2.22.4-1 The GLib library of C routines ii libgtk2.0-0 2.18.6-1 The GTK+ graphical user interface ii libpango1.0-0 1.26.0-1 Layout and rendering of internatio ii libpng12-0 1.2.40-1 PNG library - runtime ii libstdc++6 4.4.2-2 The GNU Standard C++ Library v3 ii python 2.5.4-9 An interactive high-level object-o ii python-cairo 1.8.6-1 Python bindings for the Cairo vect ii python-dateutil 1.4.1-3 powerful extensions to the standar ii python-gobject 2.16.1-1 Python bindings for the GObject li ii python-matplotlib-data 0.99.1.2-3 Python based plotting system (data ii python-numpy 1:1.3.0-3+b1 Numerical Python adds a fast array ii python-pyparsing 1.5.2-1 Python parsing module ii python-support 1.0.6.1 automated rebuilding support for P ii python-tz 2009l-1 Python version of the Olson timezo ii tcl8.5 8.5.7-1 Tcl (the Tool Command Language) v8 ii tk8.5 8.5.7-1 Tk toolkit for Tcl and X11, v8.5 - ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime Versions of packages python-matplotlib recommends: ii python-glade2
Re: [matplotlib-devel] [Python-modules-team] Bug#573179: AttributeError: 'numpy.bool_' object has no attribute '_mask' whenever imshow'ing masked array
Sandro Tosi wrote: forwarded 573179 matplotlib-devel@lists.sourceforge.net thanks Hello Matplotlib developers, I'm forwarding this bug a Debian user reported some days ago. It would be nice it you could give it a look Using svn trunk mpl and numpy 1.5.0.dev8042, I can't reproduce it; I get a blank figure and a blank colorbar, with no exception. I suspect the difference is in numpy.ma, not matplotlib. Eric Thanks in advance, Sandro On Tue, Mar 9, 2010 at 17:05, Yaroslav Halchenko deb...@onerussian.com wrote: Package: python-matplotlib Version: 0.99.1.2-3 Severity: normal throws an exception while comparing two masked arrays which have no values (all masked out)... sure thing it can't determine vmin/vmax to be used (unless clim is used explicitely), but the exception which is thrown is non-informative. I thought that upstream might want to make it more user-friendly -- please forward upstream. Here is the code to reproduce: import pylab as pl import numpy as np size = (5, 5) d = np.ones(size) mask = d.astype(bool) md = np.ma.masked_array(d, mask) pl.imshow(md) # explicit clim would eliminate the problem #pl.clim(0, 1) pl.colorbar() and here is the traceback: Traceback (most recent call last): File /usr/lib/python2.5/lib-tk/Tkinter.py, line 1417, in __call__ return self.func(*args) File /usr/lib/pymodules/python2.5/matplotlib/backends/backend_tkagg.py, line 212, in resize self.show() File /usr/lib/pymodules/python2.5/matplotlib/backends/backend_tkagg.py, line 215, in draw FigureCanvasAgg.draw(self) File /usr/lib/pymodules/python2.5/matplotlib/backends/backend_agg.py, line 314, in draw self.figure.draw(self.renderer) File /usr/lib/pymodules/python2.5/matplotlib/artist.py, line 46, in draw_wrapper draw(artist, renderer, *kl) File /usr/lib/pymodules/python2.5/matplotlib/figure.py, line 773, in draw for a in self.axes: a.draw(renderer) File /usr/lib/pymodules/python2.5/matplotlib/artist.py, line 46, in draw_wrapper draw(artist, renderer, *kl) File /usr/lib/pymodules/python2.5/matplotlib/axes.py, line 1701, in draw im.draw(renderer) File /usr/lib/pymodules/python2.5/matplotlib/artist.py, line 46, in draw_wrapper draw(artist, renderer, *kl) File /usr/lib/pymodules/python2.5/matplotlib/image.py, line 237, in draw im = self.make_image(renderer.get_image_magnification()) File /usr/lib/pymodules/python2.5/matplotlib/image.py, line 182, in make_image x = self.to_rgba(self._A, self._alpha) File /usr/lib/pymodules/python2.5/matplotlib/cm.py, line 166, in to_rgba x = self.norm(x) File /usr/lib/pymodules/python2.5/matplotlib/colors.py, line 763, in __call__ elif vmin==vmax: File /usr/lib/python2.5/site-packages/numpy/ma/core.py, line 3119, in __eq__ check._mask = mask AttributeError: 'numpy.bool_' object has no attribute '_mask' -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (901, 'unstable'), (900, 'testing'), (300, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.31-1-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages python-matplotlib depends on: ii libatk1.0-0 1.28.0-1 The ATK accessibility toolkit ii libc6 2.10.2-5 Embedded GNU C Library: Shared lib ii libcairo2 1.8.8-2 The Cairo 2D vector graphics libra ii libfontconfig1 2.8.0-2 generic font configuration library ii libfreetype62.3.11-1 FreeType 2 font engine, shared lib ii libgcc1 1:4.4.2-2GCC support library ii libglib2.0-02.22.4-1 The GLib library of C routines ii libgtk2.0-0 2.18.6-1 The GTK+ graphical user interface ii libpango1.0-0 1.26.0-1 Layout and rendering of internatio ii libpng12-0 1.2.40-1 PNG library - runtime ii libstdc++6 4.4.2-2 The GNU Standard C++ Library v3 ii python 2.5.4-9 An interactive high-level object-o ii python-cairo1.8.6-1 Python bindings for the Cairo vect ii python-dateutil 1.4.1-3 powerful extensions to the standar ii python-gobject 2.16.1-1 Python bindings for the GObject li ii python-matplotlib-data 0.99.1.2-3 Python based plotting system (data ii python-numpy1:1.3.0-3+b1 Numerical Python adds a fast array ii python-pyparsing1.5.2-1 Python parsing module ii python-support 1.0.6.1 automated rebuilding support for P ii python-tz 2009l-1 Python version of the Olson timezo ii tcl8.5 8.5.7-1 Tcl (the Tool Command Language) v8 ii tk8.5