Plot Workbench

    From FreeCAD Documentation
    (Redirected from Plot Module)
    Plot workbench icon


    FreeCAD is able to perform plots using the matplotlib Python library. A module is provided to this end, as an external add-on in version 0.19 and as a core component from version 0.20 on. Older versions of FreeCAD are not covered in this documentation.

    The produced plots offer the standard matplotlib tools to edit and save. On top of that, a Workbench Plot.svg Plot Workbench is provided as an external add-on offering more complete tools to edit the plot and save it. The add-on can be installed with the Add-on manager.


    The module can be invoked in a Python console or in a macro. The first thing you must do is importing the module. In FreeCAD 0.19 you must first install the Workbench Plot.svg Plot Workbench using the Add-on manager, and then you can import Plot by typing:

    from freecad.plot import Plot

    Since FreeCAD 0.20 the plot module is already packaged with the program, so you don't need to install any add-on, but just type:

    from FreeCAD.Plot import Plot

    After that, you can plot a straight line from (0,0) to (1,2) just simply typing:

    Plot.plot([0, 1], [0, 2])

    You can find more complex examples in the Plot Basic tutorial and the Plot MultiAxes tutorial.

    Workbench Tools

    If you decide to install the Workbench Plot.svg Plot Workbench using the Add-on manager, you will have the following tools available to manage the plots created with the module:

    • Plot Save.svg Save plot: Saves the plot in several formats. You can select the output size and resolution too.
    • Plot Axes.svg Axes: Add, remove or edit plot axes.
    • Plot Series.svg Series: Edit series title and styling.
    • Plot Grid.svg Grid: Show/hide grid.
    • Plot Legend.svg Legend: Show/hide legend.
    • Plot Labels.svg Labels: Edit labels.
    • Plot Positions.svg Positions: Set elements positions.


    Since the Plot Workbench is a layer on top of matplotlib, you are free to use any function from this library on plot instances. See Scripting and macros for examples.