Skip to main content

wxPython plotting widgets using matplotlib

Project description

Version Downloads

wxmplot provides advanced wxPython_ widgets for plotting and image display of numerical data based on matplotlib. While matplotlib provides excellent general purpose plotting functionality and supports many GUI and non-GUI backends it does not have a very tight integration with any particular GUI toolkit. With a large number of plotting components and options, it is not easy for programmers to select plotting options for every stuation and not easy for end users to manipulate matplotlib_ plots. Similarly, while wxPython_ has some plotting functionality, it has nothing as good or complete as matplotlib_. The wxmplot package attempts to bridge that gap. With the plotting and image display Panels and Frames from wxmplot, programmers are able to provide plotting widgets that make it easy for end users to customize plots and interact with their data.

WXMplot provides wx.Panels for basic 2D line plots and image display that are richly featured and provide end-users with interactivity (zooming, reading positions, rotating images) and customization (line types, labels, marker type, colors, and color tables) of the graphics without having to know matplotlib. wxmplot does not expose all of matplotlib's capabilities, but does provide 2D plotting and image display Panels and Frames that are easy to add to wxPython applications to handle many common plotting and image display needs.

The wxmplot package is aimed at programmers who want to include high quality scientific graphics in their applications that can be manipulated by the end-user. If you're a python programmer who is comfortable writing complex pyplot scripts or plotting interactively from IPython, this package may seem too limiting for your needs. On the other hand, wxmplot provides more and and better customizations than matplotlib's basic navigation toolbars.

The main widigets provided by wxmplot are:

  PlotPanel: wx.Panel for basic 2-D line plots (roughly matplotlib `plot`)

  PlotFrame: wx.Frame containing a PlotPanel

  ImagePanel: wx.Panel for image display (roughly matplotlib `imshow`)

  ImageFrame: wx.Frame containing ImagePanel

2D Line plotting with PlotPanel /PlotFrame

PlotPanel and PlotFrame give the end-user the ability to:

  1. display x, y coordinates (left-click)
  2. zoom in on a particular region of the plot (left-drag)
  3. customize titles, labels, legend, color, linestyle, marker, and whether a grid is shown. A separate configuration frame is used to set these attributes.
  4. save high-qualiy plot images (as PNGs), copy to system clipboard, or print.

For the programmer, these provide simple plotting methods:

plot(x,y): start a new plot, and plot data x,y

Some of the optional arguments (all keyword/values) include

  color='Blue'       for any X11 color name, (rgb) tuple, or '#RRGGBB'
  style='solid'      'solid,'dashed','dotted','dot-dash'
  linewidth=2      integer 0 (no line) to 10
  marker='None'  any of a wide range of marker symbols
  markersize=8    integer 0 to 30
  xlabel=' '           label for X axis
  ylabel=' '           label for Y axis
  title=' '              title for top of PlotFrame
  grid=True         boolean for whether to show grid.

oplot(x,y): plot data x,y, on same plot as current data

 with optional arguments as plot()

clear(): clear plot

save_figure(): bring up file dialog for saving image of figure

Image Display with ImagePanel and ImageFrame

This displays a numpy array as an greyscale or false color image. The end user can zoom in, rotate, or flip the image, and adjust the smoothing of the image and adjust the color table and intensity scale.

Programmatically, one can make the same adjustments to an ImagePanel by changing its configuaration attributes and running the redraw() method.

=====

last update: 2018-Oct-13 Matthew Newville newville@cars.uchicago.edu

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wxmplot-2025.1.4.tar.gz (145.6 kB view details)

Uploaded Source

Built Distribution

wxmplot-2025.1.4-py3-none-any.whl (102.2 kB view details)

Uploaded Python 3

File details

Details for the file wxmplot-2025.1.4.tar.gz.

File metadata

  • Download URL: wxmplot-2025.1.4.tar.gz
  • Upload date:
  • Size: 145.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for wxmplot-2025.1.4.tar.gz
Algorithm Hash digest
SHA256 fca0b432a584442b517d5588a90baaf6272dbbbac3f20c6f55fa8a6cafc0d894
MD5 6d7154b1632454b02f9e1901a5ba0922
BLAKE2b-256 17bda18d54466f22984aa1be1529cbc81c79c2e853cf1b3a210687dc8294e259

See more details on using hashes here.

File details

Details for the file wxmplot-2025.1.4-py3-none-any.whl.

File metadata

  • Download URL: wxmplot-2025.1.4-py3-none-any.whl
  • Upload date:
  • Size: 102.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for wxmplot-2025.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8b1b3c874baea286cd6cec2247cade824b10903beabd8057a347580402d2b6d2
MD5 5dcbc14bddc111dce925d40819f416f1
BLAKE2b-256 a928d06dca77a3e577d0efcdb5efaaf8a6d64829503b8f4d85c7f10eb1f02c1b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page