[Matplotlib-devel] wxMPL status?

Matt Newville newville at cars.uchicago.edu
Fri Mar 11 16:07:01 EST 2016


Hi Gary,


On Wed, Mar 9, 2016 at 9:08 PM, gary ruben <gary.ruben at gmail.com> wrote:

> Hi Matt,
>
> In response to "If something like wxmplot.PlotPanel and ImagePanel
> (especially wrt giving end users a configuration panel to adjust the plot /
> image) existed in PyQt, I would seriously consider switching many of my GUI
> apps away from wxPython right now," have you ever looked at the PyQtGraph
> module? http://www.pyqtgraph.org/
>

I have.  I'm a happy user of a program that uses PyQtGraph. It seems
interesting, but very different from matplotlib (and so wxmplot).   I have
a similar view of VisPy.    I am happy with matplotlib.

For wxmplot I really wanted something to make interactive high quality 2D
line plots, including something like TeX support for text, and that also
does false-color image display (to allows relations between images and 2D
line plots).  Matplotlib is excellent for these needs.  PyQtGraph seems to
emphasize other things, including speed.  Though I often hear complaints
about matplotlib being slow,  I suspect this is due to confusion using
pylab.plot() with the plotting API.  I can easily update line plots at 15
to 25 Hz with wxmplot.  It's true that I do not use matplotlib for display
of video images -- I convert data from GigE and USB3 cameras directly to
wx.Images.  PyQtGraph seems good for that as well, but that is separate
from matplotlib.

I'm guessing it loses some functionality you would consider important and
> I'd be interested, if you have any thoughts on it, to know where it falls
> down as in the past we have gone for wx for building GUIs and the
> discussion about moving to Qt/PySide continually resurfaces,
>

Wxmplot provides a Plot-specific Panel with "plot" and "oplot" methods, as
well as live interaction for zooming, printing, copy-to-clipboard, and so
on.  Of course, most of this comes from the matplotlib API.   A
configuration form is readily available for end users to alter the plot
labels, colors, markers, etc for 2D line plots.  See
http://newville.github.io/wxmplot/plotpanel.html#examples-and-screenshots
for an example.  For false-color images, the user can change scales, color
tables, smoothing methods, and customize contour levels.   In a sense,
wxmplot improves on matplotlib default Navigation Toolbars, which are
pretty limited.

I've been using wxPython for more than 10 years and have no complaints with
its functionality, only that development for Python3 has been very slow
(and so I'm very grateful that Phoenix is now supported with matplotlib
1.5).  I don't see PyQt or PySide as actually being technically superior to
wx (except Python3 support), and find PyQt's use of the GPL annoying.  None
of wxPython, PyQt, or PySide seems to have a large enough group of active
developers, and I would worry about stability and support of the GUI
library no matter which of these I was using.

Again, I could be persuaded to try to migrate wxmplot to PyQt/PySide, but
would definitely base that on matplotlib.

Cheers,

--Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/matplotlib-devel/attachments/20160311/d81cc31c/attachment.html>


More information about the Matplotlib-devel mailing list