Plot Basic tutorial: Difference between revisions

From FreeCAD Documentation
(Removed Tutorials_navi)
 
(15 intermediate revisions by the same user not shown)
Line 8: Line 8:
|Time=
|Time=
|Author=
|Author=
|FCVersion=
|FCVersion=0.19
|Files=
|Files=
}}
}}
Line 22: Line 22:


<!--T:3-->
<!--T:3-->
In the previous image you can see the result that we will approximately obtain. Following this tutorial you will learn:
In the image you can see the result that we will approximately obtain. Following this tutorial you will learn:
* How to create a Plot from the [[Python_console|Python console]].
* How to create a Plot from the [[Python_console|Python console]].
* How to plot some data from the [[Python_console|Python console]].
* How to plot some data from the [[Python_console|Python console]].
Line 32: Line 32:
* How to save your plot.
* How to save your plot.


==Plotting data==
==Plotting data== <!--T:35-->


<!--T:4-->
<!--T:4-->
To plot data you don't need a FreeCAD document, simply open the [[Python_console|Python console]] and start sending commands, or use [[Macros|macros]].
To plot data you don't need a FreeCAD document, simply open the [[Python_console|Python console]] and start sending commands, or use [[Macros|macros]].


===Creating plot document===
===Creating plot document=== <!--T:36-->


<!--T:5-->
<!--T:5-->
Plots are special documents that can be created manually in order to add data later, or the module can create one automatically when you start plotting data. Creating your own plot document has two advantages:
Plots are special documents that can be created manually in order to add data later, or the workbench can create one automatically when you start plotting data. Creating your own plot document has two advantages:
* You can set the document window label.
* You can set the document window label.
* You can control the document where you plot your data.
* You can control the document where you plot your data.
Line 59: Line 59:


<!--T:7-->
<!--T:7-->
In FreeCAD 0.19 it is required to install the [[Image:Workbench_Plot.svg|24px]] [[Plot_Workbench|Plot Workbench]] with the [[Std_AddonMgr|Add-on manager]], while from FreeCAD 0.20 onward the external add-on is no longer required to perform plots.
In FreeCAD version 0.19 it is required to install the [[Image:Workbench_Plot.svg|24px]] [[Plot_Workbench|Plot Workbench]] with the [[Std_AddonMgr|Add-on manager]], while from FreeCAD version 0.20 onward the external add-on is no longer required to perform plots.
The commands above will create a new tab in the [[Main_view_area|Main view area]] called '''TrigonometricTest'''. The newly created document already has a set of axes. Each plot document has at least one set of axes.
The commands above will create a new tab in the [[Main_view_area|Main view area]] called '''TrigonometricTest'''. The newly created document already has a set of axes. Each plot document has at least one set of axes.


===Drawing functions===
===Drawing functions=== <!--T:37-->


<!--T:8-->
<!--T:8-->
You can also start working from here because, as already explained, the plot command will create a new document if required. The next thing we need to do is create the data for sine and cosine functions that we want to plot:
You can also start working from here because, as already explained, the plot command will create a new document if required. The next thing we need to do is create the data for the sine and cosine functions that we want to plot:


</translate>
</translate>
Line 84: Line 84:


<!--T:10-->
<!--T:10-->
In order to plot both function we only need to launch the next commands:
In order to plot both functions we only need to launch the next commands:


</translate>
</translate>
Line 94: Line 94:


<!--T:11-->
<!--T:11-->
That will plot our functions. The '''plot''' command allows the series label as an argument, but since we will edit it later using the Plot module tools, we don't pass this data yet.
The '''plot''' command allows the series label as an argument, but since we will edit it later using the Plot workbench tools, we don't pass this data yet.


==Configuring plot== <!--T:12-->
==Configuring plot== <!--T:12-->


===Showing grid and legend===
===Showing grid and legend=== <!--T:38-->


<!--T:13-->
<!--T:13-->
Change the FreeCAD workbench to the [[Plot_Module|Plot module]] with {{MenuCommand|View → Workbench → Plot}} (you must install the add-on first with the [[Std_AddonMgr|Add-on manager]]). When the module has been loaded, use the [[Plot_Grid|grid tool]] to show the grid.
Change the FreeCAD workbench to the [[Plot_Workbench|Plot Workbench]] with {{MenuCommand|View → Workbench → Plot}} (you must install the add-on first with the [[Std_AddonMgr|Add-on manager]]). When the workbench has been loaded, use the [[Plot_Grid|grid tool]] to show the grid.


</translate>
</translate>
Line 119: Line 119:


<!--T:17-->
<!--T:17-->
As you can see, the legend is very small and empty because we have not set any series label yet. In the [[Plot_Module|Plot module]] series without a label are not displayed in the legend.
As you can see, the legend is very small and empty because we have not set any series label yet. In the [[Plot_Workbench|Plot Workbench]] series without a label are not displayed in the legend.


===Setting serie label===
===Setting series label=== <!--T:39-->


<!--T:18-->
<!--T:18-->
With the [[Plot_Series|series tool]] you can edit the parameter of each serie.
With the [[Plot_Series|series tool]] you can edit the parameters of each series.


</translate>
</translate>
Line 133: Line 133:


<!--T:20-->
<!--T:20-->
Select the serie you want to edit, we will start with the first one. Uncheck '''No label''' and set this label:
Select the series you want to edit, we will start with the first one. Uncheck '''No label''' and set this label:


</translate>
</translate>
Line 142: Line 142:


<!--T:21-->
<!--T:21-->
Since [http://matplotlib.org/ matplotlib] supports [http://www.latex-project.org LaTeX] you can set all labels and titles using LaTeX. Set the following label for the second serie:
Since [http://matplotlib.org/ matplotlib] supports [http://www.latex-project.org LaTeX] you can set all labels and titles using LaTeX. Set the following label for the second series:


</translate>
</translate>
Line 150: Line 150:
<translate>
<translate>


===Setting series style===
===Setting series style=== <!--T:40-->


<!--T:22-->
<!--T:22-->
You can set many series properties. Try to set the properties shown in the example image, changing the colors and drawing style of the second serie.
You can set many series properties. Try to set the properties shown in the example image, changing the colors and drawing style of the second series.


===Setting axes labels===
===Setting axes labels=== <!--T:41-->


<!--T:23-->
<!--T:23-->
With the [[Plot_Labels|labels tool]] you can set labels for all created axes.
With the [[Plot_Labels|labels tool]] you can set the title and the labels for the axes.


</translate>
</translate>
Line 173: Line 173:


<!--T:26-->
<!--T:26-->
Also change the font size of all labels to 20.
Also change the font size of the title and all labels to 20.


==Saving plot==
==Saving plot== <!--T:42-->


<!--T:27-->
<!--T:27-->
Line 187: Line 187:


<!--T:29-->
<!--T:29-->
First select the path and filename for the output file in the file selection dialog.
First select the path and filename for the output file.


<!--T:30-->
<!--T:30-->
Line 194: Line 194:


</translate>
</translate>
{{Tutorials_navi{{#translation:}}}}
{{Plot_Tools_navi{{#translation:}}}}
{{Plot_Tools_navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 12:59, 14 April 2023

Tutorial
Topic
Plot Workbench Basic Tutorial
Level
Beginner
Time to complete
Authors
FreeCAD version
0.19
Example files
See also
None

In this tutorial we will learn how to create a basic plot using the Plot Workbench and the Python console.

Basic plot example

In the image you can see the result that we will approximately obtain. Following this tutorial you will learn:

Plotting data

To plot data you don't need a FreeCAD document, simply open the Python console and start sending commands, or use macros.

Creating plot document

Plots are special documents that can be created manually in order to add data later, or the workbench can create one automatically when you start plotting data. Creating your own plot document has two advantages:

  • You can set the document window label.
  • You can control the document where you plot your data.

To create a new plot document simply launch the following commands:

try:
    from FreeCAD.Plot import Plot
except ImportError:
    from freecad.plot import Plot

Plot.figure("TrigonometricTest")

In FreeCAD version 0.19 it is required to install the Plot Workbench with the Add-on manager, while from FreeCAD version 0.20 onward the external add-on is no longer required to perform plots. The commands above will create a new tab in the Main view area called TrigonometricTest. The newly created document already has a set of axes. Each plot document has at least one set of axes.

Drawing functions

You can also start working from here because, as already explained, the plot command will create a new document if required. The next thing we need to do is create the data for the sine and cosine functions that we want to plot:

import math
t = range(0,101)
t = [tt/100.0 for tt in t]
s = [math.sin(2.0*math.pi*tt) for tt in t]
c = [math.cos(2.0*math.pi*tt) for tt in t]

That will create 3 arrays of data (with 101 points):

  • t = Time in seconds.
  • s = Sine function.
  • c = Cosine function.

In order to plot both functions we only need to launch the next commands:

Plot.plot(t,s)
Plot.plot(t,c)

The plot command allows the series label as an argument, but since we will edit it later using the Plot workbench tools, we don't pass this data yet.

Configuring plot

Showing grid and legend

Change the FreeCAD workbench to the Plot Workbench with View → Workbench → Plot (you must install the add-on first with the Add-on manager). When the workbench has been loaded, use the grid tool to show the grid.

Show/hide grid tool icon

You can repeat the action to hide the grid. Use the legend tool to show, or hide, the legend.

Show/hide legend tool icon

As you can see, the legend is very small and empty because we have not set any series label yet. In the Plot Workbench series without a label are not displayed in the legend.

Setting series label

With the series tool you can edit the parameters of each series.

Series configuration tool icon

Select the series you want to edit, we will start with the first one. Uncheck No label and set this label:

$y = \sin \left( 2 \pi t \right)$

Since matplotlib supports LaTeX you can set all labels and titles using LaTeX. Set the following label for the second series:

$y = \cos \left( 2 \pi t \right)$

Setting series style

You can set many series properties. Try to set the properties shown in the example image, changing the colors and drawing style of the second series.

Setting axes labels

With the labels tool you can set the title and the labels for the axes.

Labels tool icon

Set this data:

  • Title = Trigonometric functions example
  • X Label = $t$
  • Y Label = $y = \mathrm{f} \left( t \right)$

Also change the font size of the title and all labels to 20.

Saving plot

With the save tool you can save your plot as an image file in several formats.

Save tool icon

First select the path and filename for the output file.

Set the output image size in inches, for example use 11.7x8.3 to get a DIN A4 size. DPI (Dots per inch) will control the image resolution, for example use 100 dpi. In combination with the given dimensions this will result in an image of 1170x830 pixels.