Skip to content

Plugin: Figure #2

@1313e

Description

@1313e

One of the major plugins of GuiPy; the Figure plugin.
This plugin provides a user-friendly environment in which different figures and plots can be made, using matplotlib in the background.

Features:

  • General:
    • Figures can be named;
    • Multiple figures can exist simultaneously;
    • Multiple figures can be open/shown/edited simultaneously (using a splitter);
    • Figures can be loaded/saved (using their own file format);
  • User interaction:
    • Figures can be rotated; zoomed; and resized;
    • Certain figure elements (like text sizes/fonts/positions; axis positions; line coloring; etc.) can be modified interactively (without an options menu);
    • Hovering over certain plot types (where applicable) shows information about that plot.
  • Export:
    • Figures can be exported to image files;
    • Figures can be exported to Python scripts (which recreate the figure when executed).
  • Figure options:
    • Set the title of the figure;
    • Set the axis labels;
    • Set the axis ranges;
    • Set the axis scales;
    • Toggle use of a figure legend;
    • Set the size of text elements;
    • Set the font of text elements;
    • Use subplots;
    • Use tight or constrained layouts;
    • 2D or 3D axis can be used;
    • Figure options can be tested without applying them.
  • Plot options:
    • Data tables and their columns can be used as input data;
    • Multiple plots can be added to a figure;
    • Type of every plot can be chosen;
    • Errors can be given and plotted;
    • Data/options can be transferred between plot types where possible;
    • Support exists for the following plot types (and their default/general options):
      • Line (plt.plot);
      • Step (plt.plot/plt.step);
      • Contour (plt.contour);
      • Scatter (plt.scatter);
      • Histogram (plt.hist);
      • 2D histogram (plt.hist2d);
      • Hexagonal binning plot (plt.hexbin);
      • Boxplot (plt.boxplot);
      • Image (plt.imshow);
      • Pie chart (plt.pie);
      • Stack plot (plt.stackplot).
    • Every plot type has its own plot options associated with it;
    • Additional plot options can be added using an 'Advanced options' button (using a system similar to the one in PRISM's Crystal).
  • Plugin configuration:
    • Colormap packages can be requested to be imported when launching GuiPy;
    • The rcParams of matplotlib can be individually modified;
    • Other things I cannot think of right now...

Metadata

Metadata

Assignees

No one assigned

    Labels

    APIThis has a big impact on the API

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions