{"id":15359013,"url":"https://github.com/newville/wxmplot","last_synced_at":"2025-04-12T19:49:23.592Z","repository":{"id":1864232,"uuid":"2789373","full_name":"newville/wxmplot","owner":"newville","description":"wxPython plotting widgets using matplotlib","archived":false,"fork":false,"pushed_at":"2025-03-04T04:27:30.000Z","size":52664,"stargazers_count":82,"open_issues_count":2,"forks_count":25,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-12T19:49:12.110Z","etag":null,"topics":["matplotlib","plotting","python","wxpython"],"latest_commit_sha":null,"homepage":"https://newville.github.io/wxmplot/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"antlr/antlr4","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/newville.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-11-16T17:00:02.000Z","updated_at":"2025-04-06T02:37:11.000Z","dependencies_parsed_at":"2024-12-18T05:03:54.100Z","dependency_job_id":"3079016f-d08c-49d9-be2a-e6bf33d7cd5a","html_url":"https://github.com/newville/wxmplot","commit_stats":{"total_commits":955,"total_committers":14,"mean_commits":68.21428571428571,"dds":"0.032460732984293195","last_synced_commit":"bb0087b6cf0db43c643f76d3fb811e52eb298896"},"previous_names":[],"tags_count":57,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newville%2Fwxmplot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newville%2Fwxmplot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newville%2Fwxmplot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newville%2Fwxmplot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/newville","download_url":"https://codeload.github.com/newville/wxmplot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248625501,"owners_count":21135513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["matplotlib","plotting","python","wxpython"],"created_at":"2024-10-01T12:43:34.100Z","updated_at":"2025-04-12T19:49:23.571Z","avatar_url":"https://github.com/newville.png","language":"Python","readme":"[![Version](https://img.shields.io/pypi/v/wxmplot.svg)](https://pypi.org/project/wxmplot)\n[![Downloads](https://pepy.tech/badge/wxmplot/month)](https://pepy.tech/project/wxmplot)\n\n\nwxmplot provides advanced `wxPython`_ widgets for plotting and image display\nof numerical data based on `matplotlib`_. While `matplotlib`_ provides\nexcellent general purpose plotting functionality and supports many GUI and\nnon-GUI backends it does not have a very tight integration with any\nparticular GUI toolkit. With a large number of plotting components and\noptions, it is not easy for programmers to select plotting options for every\nstuation and not easy for end users to manipulate `matplotlib`_ plots.\nSimilarly, while `wxPython`_ has some plotting functionality, it has nothing\nas good or complete as `matplotlib`_. The wxmplot package attempts to bridge\nthat gap.  With the plotting and image display Panels and Frames from\nwxmplot, programmers are able to provide plotting widgets that make it easy\nfor end users to customize plots and interact with their data.\n\nWXMplot provides wx.Panels for basic 2D line plots and image display that are\nrichly featured and provide end-users with interactivity (zooming, reading\npositions, rotating images) and customization (line types, labels, marker\ntype, colors, and color tables) of the graphics without having to know\nmatplotlib.  wxmplot does not expose all of matplotlib's capabilities, but\ndoes provide 2D plotting and image display Panels and Frames that are easy to\nadd to wxPython applications to handle many common plotting and image display\nneeds.\n\nThe wxmplot package is aimed at programmers who want to include high quality\nscientific graphics in their applications that can be manipulated by the\nend-user.  If you're a python programmer who is comfortable writing complex\npyplot scripts or plotting interactively from IPython, this package may seem\ntoo limiting for your needs.  On the other hand, wxmplot provides more and\nand better customizations than matplotlib's basic navigation toolbars.\n\nThe main widigets provided by wxmplot are:\n\n\t  PlotPanel: wx.Panel for basic 2-D line plots (roughly matplotlib `plot`)\n\n\t  PlotFrame: wx.Frame containing a PlotPanel\n\n\t  ImagePanel: wx.Panel for image display (roughly matplotlib `imshow`)\n\n\t  ImageFrame: wx.Frame containing ImagePanel\n\n2D Line plotting with PlotPanel  /PlotFrame\n------------------------------------\n\n PlotPanel and PlotFrame give the end-user the ability  to:\n\n   1. display x, y coordinates (left-click)\n   2. zoom in on a particular region of the plot (left-drag)\n   3. customize titles, labels, legend, color, linestyle, marker,\n\t  and whether a grid is shown.  A separate configuration frame\n\t  is used to set these attributes.\n   4. save high-qualiy plot images (as PNGs), copy to system\n\t  clipboard, or print.\n\nFor the programmer, these provide simple plotting methods:\n\n   plot(x,y):  start a new plot, and plot data x,y\n\nSome of the optional arguments (all keyword/values) include\n\n\t  color='Blue'       for any X11 color name, (rgb) tuple, or '#RRGGBB'\n\t  style='solid'      'solid,'dashed','dotted','dot-dash'\n\t  linewidth=2      integer 0 (no line) to 10\n\t  marker='None'  any of a wide range of marker symbols\n\t  markersize=8    integer 0 to 30\n\t  xlabel=' '           label for X axis\n\t  ylabel=' '           label for Y axis\n\t  title=' '              title for top of PlotFrame\n\t  grid=True         boolean for whether to show grid.\n\n  oplot(x,y):  plot data x,y, on same plot as current data\n\n\t with optional arguments as plot()\n\n   clear():      clear plot\n\n   save_figure():     bring up file dialog for saving image of figure\n\nImage Display with ImagePanel and ImageFrame\n------------------------------------------\n\nThis displays a numpy array as an greyscale or false color image.  The end\nuser can zoom in, rotate, or flip the image, and adjust the smoothing of\nthe image and adjust the color table and intensity scale.\n\nProgrammatically, one can make the same adjustments to an ImagePanel by\nchanging its configuaration attributes and running the redraw() method.\n\n=====\n\nlast update: 2018-Oct-13   Matthew Newville \u003cnewville@cars.uchicago.edu\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnewville%2Fwxmplot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnewville%2Fwxmplot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnewville%2Fwxmplot/lists"}