Plot Basic tutorial/it: Difference between revisions

From FreeCAD Documentation
(Created page with "==Tracciare i dati== Per tracciare i dati non è necessario creare un nuovo documento di FreeCAD, è sufficiente visualizzare la console Python e iniziare a inviare i comandi...")
(Updating to match new version of source page)
 
(42 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
In questo tutorial impareremo come creare un grafico di base utilizzando il modulo '''Grafico''' e la console Python. Altre informazioni sul modulo Grafico sono disponibili [[Plot_Module/it|qui]].

<div class="mw-translate-fuzzy">
{{TutorialInfo/it
|Topic=Plot - Grafico
|Level=Base
|Time=
|Author=
|FCVersion=
|Files=
}}
</div>

<div class="mw-translate-fuzzy">
In questo tutorial impareremo come creare un grafico di base utilizzando il modulo '''Grafico''' e la console Python. Altre informazioni sul modulo Grafico sono disponibili [[Plot_Workbench/it|qui]].
</div>


[[Image:Plot_Trigonometric_Example.png|600px]]
<div class="mw-translate-fuzzy">
[[Image:Plot_Trigonometric_Example.png|600px|center|Esempio di grafico]]
[[Image:Plot_Trigonometric_Example.png|600px|center|Esempio di grafico]]
<center><span style="font-variant:small-caps">Esempio di grafico.</span></center>
<center><span style="font-variant:small-caps">Esempio di grafico.</span></center>
</div>


<div class="mw-translate-fuzzy">
Nell'immagine precedente si può vedere il risultato che si intende ottenere. Questo tutorial descrive:
Nell'immagine precedente si può vedere il risultato che si intende ottenere. Questo tutorial descrive:


Line 14: Line 33:
* Come modificare gli stili della serie.
* Come modificare gli stili della serie.
* Come salvare il grafico.
* Come salvare il grafico.
</div>


==Plotting data==

<div class="mw-translate-fuzzy">
==Tracciare i dati==
==Tracciare i dati==


Per tracciare i dati non è necessario creare un nuovo documento di FreeCAD, è sufficiente visualizzare la console Python e iniziare a inviare i comandi, o usare le [[Macros/it|macro]].
Per tracciare i dati non è necessario creare un nuovo documento di FreeCAD, è sufficiente visualizzare la console Python e iniziare a inviare i comandi, o usare le [[Macros/it|macro]].
</div>


===Creating plot document===
===Creating plot document===
Plots are special documents that can be created manually in order to add data later, or allow the module creates one authomatically when you start plotting data. Create your own plot documents have 2 advantages:
* You can set the document window label.
* You can control easily on wich document you plot your data.


<div class="mw-translate-fuzzy">
In order to create new plot document simply launch following commands:
===Creare un documento di grafico===
<syntaxhighlight>

import Plot
I grafici sono documenti speciali che possono essere creati manualmente per inserire i dati in seguito, oppure si può consentire al modulo di crearli automaticamente quando si avvia la stampa dei dati.<br />Creare un documento personale per il grafico dà 2 vantaggi:
Plot.figure("TrigonometricTest")

</syntaxhighlight>
* È possibile impostare l'etichetta del documento.
That will create a new tab on main windows called '''TrigonometricTest'''. The new created document already have a set of axes. Each plot document have at least one set of axes that can be removed without using fully matplotlib control.
* È possibile controllare facilmente in quale documento sono tracciati i dati (vedere più avanti per maggiori dettagli su questo aspetto).
</div>

<div class="mw-translate-fuzzy">
Per creare un nuovo documento grafico lanciare semplicemente i seguenti comandi nel terminale Python:
</div>

{{Code|code=
try:
from FreeCAD.Plot import Plot
except ImportError:
from freecad.plot import Plot

Plot.figure("TrigonometricTest")
}}

<div class="mw-translate-fuzzy">
Questi comandi creano un nuovo documento nella finestra principale chiamato '''TrigonometricTest'''.<br />Il nuovo documento appena creato possiede già di un sistema di assi. Ogni documento di Grafico deve avere almeno una serie di assi che non possono essere rimossi senza il completo controllo di matplotlib.
</div>


===Drawing functions===
===Drawing functions===
You can start working here due to plot command will start a new document, but all plot commands that you execute will append series to created plot until you don't create a new document, so ussually is better options control the opened plot documents. First thing that we need to do is create the data for sine and cosine functions that we want to plot:
<syntaxhighlight>
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]
</syntaxhighlight>
That will create 3 arrays of data (with 101 points):
* ''t'' = Time in seconds.
* ''s'' = Sine function.
* ''c'' = Cosine function.


<div class="mw-translate-fuzzy">
In order to plot both function we only need to launch next commands:
===Tracciare le funzioni===
<syntaxhighlight>
Plot.plot(t,s)
Plot.plot(t,c)
</syntaxhighlight>
That will plot our functions. '''plot''' command allows the series label as argument, but since we will edit it later using Plot module tools we don't pass this data yet.


Dato che il comando '''Plot''' avvia un nuovo documento, a questo punto è possibile iniziare a lavorare.<br />Bisogna ricordare che ogni comando del modulo Grafico che viene eseguito aggiunge una serie al grafico creato, questo fino a quando non si crea un nuovo documento, quindi, come regola generale, è bene controllare quali documenti sono aperti.
==Configuring plot==

Ora si possono creare i dati per le funzioni seno e coseno che sono le funzioni che si vogliono tracciare:
</div>

{{Code|code=
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]
}}

Questo crea 3 array di dati (con 101 punti):

* ''t'' = Tempo in secondi.
* ''s'' = Funzione seno.
* ''c'' = Funzione coseno.

<div class="mw-translate-fuzzy">
Per tracciare entrambe le funzioni basta lanciare i seguenti comandi:
</div>

{{Code|code=
Plot.plot(t,s)
Plot.plot(t,c)
}}

<div class="mw-translate-fuzzy">
Questi comandi tracciano le funzioni. Il comando '''plot''' ammette anche l'etichetta della serie come terzo argomento, ma dato che si intende modificare questi dati in un momento successivo, utilizzando gli strumenti del modulo Grafico, non li passiamo ancora.
</div>

<span id="Configuring_plot"></span>
==Configurazione del grafico==


===Showing grid and legend===
===Showing grid and legend===
Change FreeCAD workbench to [[Plot_Module|Plot module]] in View/Workbench menu. When module has been loaded use grid tool in order to show it.


<div class="mw-translate-fuzzy">
[[Image:Plot_Grid.png‎|center|Show/hide grid tool icon]]
===Mostrare la griglia e la legenda===
<center><span style="font-variant:small-caps">Show/hide grid tool icon.</span></center>


Avviare l'ambiente di lavoro [[Plot_Workbench/it|Grafico]] di FreeCAD nel menu Visualizza / Ambiente /. Quando il modulo è stato caricato, utilizzare lo strumento '''Griglia''' per mostrarla.
You can repeat the action in order to hide it. Also you can show the legend with the tool provided.
</div>


[[Image:Plot_Grid.svg‎]]
[[Image:Plot_Legend.png‎|center|Show/hide legend tool icon]]
<div class="mw-translate-fuzzy">
<center><span style="font-variant:small-caps">Show/hide legend tool icon.</span></center>
[[Image:Plot_Grid.png‎|center|Icona dello strumento per mostrare o nascondere la griglia]]
<center><span style="font-variant:small-caps">Icona dello strumento per mostrare o nascondere la griglia.</span></center>
</div>


<div class="mw-translate-fuzzy">
As you can see, legend is empty because we have not set any series label yet. In [[Plot_Module|Plot module]] series without label are not represented at legend, in order to allow you to draw auxiliar lines.
È possibile ripetere l'azione per nasconderla.


Nello stesso modo è possibile visualizzare la '''Legenda''' con lo strumento corrispondente.
===Setting series labels===
</div>
With the series tool you can edit some series parameters.


[[Image:Plot_Legend.svg]]
[[Image:Plot_Series.png‎|center|Series configuration tool icon]]
<div class="mw-translate-fuzzy">
<center><span style="font-variant:small-caps">Series configuration tool icon.</span></center>
[[Image:Plot_Legend.png‎|center|Icona dello strumento per mostrare o nascondere la legenda]]
<center><span style="font-variant:small-caps">Icona dello strumento per mostrare o nascondere la legenda.</span></center>
</div>

<div class="mw-translate-fuzzy">
Come si può vedere, la legenda è vuota perché non è ancora stata impostata alcuna etichetta per la serie.<br />Nel modulo [[Plot_Workbench/it|Grafico]] le serie senza una etichetta assegnata non sono rappresentate nella legenda, questo per consentire di inserire nel grafico delle linee ausiliarie.
</div>

===Setting series label===

<div class="mw-translate-fuzzy">
===Impostare l'etichetta della serie===

Con lo strumento '''Serie''' è possibile modificare alcuni parametri della serie.
</div>

[[Image:Plot_Series.svg‎]]
<div class="mw-translate-fuzzy">
[[Image:Plot_Series.png‎|center|Icona dello strumento per editare la serie]]
<center><span style="font-variant:small-caps">Icona dello strumento per editare la serie.</span></center>
</div>

<div class="mw-translate-fuzzy">
In primo luogo selezionare la linea che si desidera modificare, ad esempio, si può iniziare con la prima.<br />Deselezionare la casella '''No label''' (Nessuna etichetta) e impostare questa etichetta:
</div>

{{Code|code=
$y = \sin \left( 2 \pi t \right)$
}}

<div class="mw-translate-fuzzy">
Poiché [http://www.latex-project.org LaTeX] è supportato da [http://matplotlib.org matplotlib] è possibile utilizzarlo per impostare tutte le etichette o i titoli che si desidera.<br />
Impostare la seguente etichetta per la seconda serie:
</div>

{{Code|code=
$y = \cos \left( 2 \pi t \right)$
}}


First for all select the line that you want to edit, for example we will start with the first one. Uncheck '''No label''' and set this label:
<syntaxhighlight>
$y = \sin \left( 2 \pi t \right)$
</syntaxhighlight>
Since [http://matplotlib.org/ matplotlib] supports [http://www.latex-project.org LaTeX] you can set all the labels or titles that you want using it. Set the following label to second serie:
<syntaxhighlight>
$y = \cos \left( 2 \pi t \right)$
</syntaxhighlight>
===Setting series style===
===Setting series style===

Series allows you to set a lot of series properties. Try to set the properties shown at the example image, changing series colors and drawing style of the second one.
<div class="mw-translate-fuzzy">
===Impostare lo stile della serie===

Lo strumento '''Serie''' consente di impostare diverse proprietà della serie.<br />Provare a impostare le proprietà di visualizzazione per ottenere delle curve come quelle dell'esempio, cambiare i colori della serie e lo stile di disegno della seconda curva.
</div>


===Setting axes labels===
===Setting axes labels===
With the labels tool you can set labels associated to all created axes.


<div class="mw-translate-fuzzy">
[[Image:Plot_Labels.png‎|center|Labels tool icon]]
===Impostare le etichette degli assi===
<center><span style="font-variant:small-caps">Labels tool icon.</span></center>

Con lo strumento '''Etichette''' è possibile impostare le etichette associate a ogni asse creato.
</div>

[[Image:Plot_Labels.svg‎]]
<div class="mw-translate-fuzzy">
[[Image:Plot_Labels.png‎|center|Icona dello strumento di configurazione delle Etichette]]
<center><span style="font-variant:small-caps">Icona dello strumento di configurazione delle Etichette.</span></center>
</div>

Impostare i seguenti titoli:


Set this data:
* Title = Trigonometric functions example
* Title = Trigonometric functions example
* X Label = $t$
* X Label = $t$
* Y Label = $y = \mathrm{f} \left( t \right)$
* Y Label = $y = \mathrm{f} \left( t \right)$


<div class="mw-translate-fuzzy">
Also change the size of all of them to 20.
Inoltre impostare le dimensioni di tutti i titoli a 20.
</div>


==Saving plot==
==Saving plot==
With saving plot tool you can save your plot as image file in several formats.


<div class="mw-translate-fuzzy">
[[Image:Plot_Save.png‎|center|Save tool icon]]
==Salvare il grafico==
<center><span style="font-variant:small-caps">Save tool icon.</span></center>


Con lo strumento '''Salva grafico''' è possibile salvare il grafico come file di immagine in diversi formati.
First for all select the path of the output file. You can use file selection dialog using the button at right of the path edition line.
</div>


[[Image:Plot_Save.svg]]
You can set the output image size in inches, for example we can set 11.7x8.3 that is a '''DIN A4''' paper size. DPI (Dots per inch) will control the image resolution, for example using 100 dpi you will get an image of 1170x830 pixels.
<div class="mw-translate-fuzzy">
[[Image:Plot_Save.png‎|center|Icona dello strumento Salva]]
<center><span style="font-variant:small-caps">Icona dello strumento Salva grafico.</span></center>
</div>


<div class="mw-translate-fuzzy">
[[Category:Tutorials]]
Iniziare con la selezione del percorso di output del file.<br />È possibile utilizzare la finestra di selezione file usando il pulsante a destra della riga di edizione del percorso.
</div>


<div class="mw-translate-fuzzy">
{{clear}}
È possibile impostare le dimensioni dell'immagine di uscita in pollici, ad esempio, si può impostare 11.7x8.3 corrispondente al formato DIN A4.<br />Dpi (punti per pollice) controlla la risoluzione delle immagini, ad esempio utilizzando 100 dpi si ottiene un'immagine di 1170x830 pixel.
<languages/>
</div>


{{Plot_Tools_navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
[[Category:External_Workbenches{{#translation:}}]]
[[Category:Addons{{#translation:}}]]

Latest revision as of 12:59, 14 April 2023

Tutorial
Argomento
Plot - Grafico
Livello di difficoltà
Base
Tempo di esecuzione
Autori
Versione di FreeCAD
Files di esempio
Vedere anche
Nessuno

In questo tutorial impareremo come creare un grafico di base utilizzando il modulo Grafico e la console Python. Altre informazioni sul modulo Grafico sono disponibili qui.

Esempio di grafico
Esempio di grafico
Esempio di grafico.

Nell'immagine precedente si può vedere il risultato che si intende ottenere. Questo tutorial descrive:

  • Come creare un grafico dalla console Python.
  • Come produrre un grafico da una serie di dati dalla console Python.
  • Come mostrare le linee della griglia.
  • Come visualizzare la legenda.
  • Come editare le etichette della serie, usando LaTeX.
  • Come modificare le etichette delle assi, usando LaTeX.
  • Come modificare gli stili della serie.
  • Come salvare il grafico.

Plotting data

Tracciare i dati

Per tracciare i dati non è necessario creare un nuovo documento di FreeCAD, è sufficiente visualizzare la console Python e iniziare a inviare i comandi, o usare le macro.

Creating plot document

Creare un documento di grafico

I grafici sono documenti speciali che possono essere creati manualmente per inserire i dati in seguito, oppure si può consentire al modulo di crearli automaticamente quando si avvia la stampa dei dati.
Creare un documento personale per il grafico dà 2 vantaggi:

  • È possibile impostare l'etichetta del documento.
  • È possibile controllare facilmente in quale documento sono tracciati i dati (vedere più avanti per maggiori dettagli su questo aspetto).

Per creare un nuovo documento grafico lanciare semplicemente i seguenti comandi nel terminale Python:

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

Plot.figure("TrigonometricTest")

Questi comandi creano un nuovo documento nella finestra principale chiamato TrigonometricTest.
Il nuovo documento appena creato possiede già di un sistema di assi. Ogni documento di Grafico deve avere almeno una serie di assi che non possono essere rimossi senza il completo controllo di matplotlib.

Drawing functions

Tracciare le funzioni

Dato che il comando Plot avvia un nuovo documento, a questo punto è possibile iniziare a lavorare.
Bisogna ricordare che ogni comando del modulo Grafico che viene eseguito aggiunge una serie al grafico creato, questo fino a quando non si crea un nuovo documento, quindi, come regola generale, è bene controllare quali documenti sono aperti.

Ora si possono creare i dati per le funzioni seno e coseno che sono le funzioni che si vogliono tracciare:

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]

Questo crea 3 array di dati (con 101 punti):

  • t = Tempo in secondi.
  • s = Funzione seno.
  • c = Funzione coseno.

Per tracciare entrambe le funzioni basta lanciare i seguenti comandi:

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

Questi comandi tracciano le funzioni. Il comando plot ammette anche l'etichetta della serie come terzo argomento, ma dato che si intende modificare questi dati in un momento successivo, utilizzando gli strumenti del modulo Grafico, non li passiamo ancora.

Configurazione del grafico

Showing grid and legend

Mostrare la griglia e la legenda

Avviare l'ambiente di lavoro Grafico di FreeCAD nel menu Visualizza / Ambiente /. Quando il modulo è stato caricato, utilizzare lo strumento Griglia per mostrarla.

Icona dello strumento per mostrare o nascondere la griglia
Icona dello strumento per mostrare o nascondere la griglia
Icona dello strumento per mostrare o nascondere la griglia.

È possibile ripetere l'azione per nasconderla.

Nello stesso modo è possibile visualizzare la Legenda con lo strumento corrispondente.

Icona dello strumento per mostrare o nascondere la legenda
Icona dello strumento per mostrare o nascondere la legenda
Icona dello strumento per mostrare o nascondere la legenda.

Come si può vedere, la legenda è vuota perché non è ancora stata impostata alcuna etichetta per la serie.
Nel modulo Grafico le serie senza una etichetta assegnata non sono rappresentate nella legenda, questo per consentire di inserire nel grafico delle linee ausiliarie.

Setting series label

Impostare l'etichetta della serie

Con lo strumento Serie è possibile modificare alcuni parametri della serie.

Icona dello strumento per editare la serie
Icona dello strumento per editare la serie
Icona dello strumento per editare la serie.

In primo luogo selezionare la linea che si desidera modificare, ad esempio, si può iniziare con la prima.
Deselezionare la casella No label (Nessuna etichetta) e impostare questa etichetta:

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

Poiché LaTeX è supportato da matplotlib è possibile utilizzarlo per impostare tutte le etichette o i titoli che si desidera.
Impostare la seguente etichetta per la seconda serie:

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

Setting series style

Impostare lo stile della serie

Lo strumento Serie consente di impostare diverse proprietà della serie.
Provare a impostare le proprietà di visualizzazione per ottenere delle curve come quelle dell'esempio, cambiare i colori della serie e lo stile di disegno della seconda curva.

Setting axes labels

Impostare le etichette degli assi

Con lo strumento Etichette è possibile impostare le etichette associate a ogni asse creato.

Icona dello strumento di configurazione delle Etichette
Icona dello strumento di configurazione delle Etichette
Icona dello strumento di configurazione delle Etichette.

Impostare i seguenti titoli:

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

Inoltre impostare le dimensioni di tutti i titoli a 20.

Saving plot

Salvare il grafico

Con lo strumento Salva grafico è possibile salvare il grafico come file di immagine in diversi formati.

Icona dello strumento Salva
Icona dello strumento Salva
Icona dello strumento Salva grafico.

Iniziare con la selezione del percorso di output del file.
È possibile utilizzare la finestra di selezione file usando il pulsante a destra della riga di edizione del percorso.

È possibile impostare le dimensioni dell'immagine di uscita in pollici, ad esempio, si può impostare 11.7x8.3 corrispondente al formato DIN A4.
Dpi (punti per pollice) controlla la risoluzione delle immagini, ad esempio utilizzando 100 dpi si ottiene un'immagine di 1170x830 pixel.