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.6.tar.gz (150.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wxmplot-2025.1.6-py3-none-any.whl (104.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wxmplot-2025.1.6.tar.gz
  • Upload date:
  • Size: 150.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for wxmplot-2025.1.6.tar.gz
Algorithm Hash digest
SHA256 43846b3d5e74661cbecd1847e93e4e188ce29c53d4ca570e9cf8c7cb8b57dd20
MD5 74951c4eef49988f6b3fccbb0e19a558
BLAKE2b-256 23e72eea670924b2a246a82b1377f02235eed748556b77d28c683921dda47b28

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wxmplot-2025.1.6-py3-none-any.whl
  • Upload date:
  • Size: 104.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for wxmplot-2025.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 fae346ce551c9a2714772088519ebc8badc3448c3eb8dbe8530ad755aaf7fb5b
MD5 351be2e4d46b3e867b9c08d40aa09af6
BLAKE2b-256 39354c9966e42ef4b0617033df118f5a1b14c8ddce45ba18191bb9bc321cc2ca

See more details on using hashes here.

Supported by

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