Da controllare con Glowscript, da revisionare con vpython
gcurve()
gcurve() si utilizza per rappresentare il grafico di una funzione
- Traccia una linea continua tra i punti specificati (maggiore è il numero di punti e più fedele è il grafico)
- g1=gcurve(…), costruttore con eventuali parametri
- g1=gcurve(color=color.yellow), di colore giallo
- g1=gcurve(gdisplay=gd), nella finestra gd
- g1=gcurve(dot=True), i nuovi punti sono tracciati con un pallino
- shape=”round”|“square”, …oppure con un quadratino
- dot_color=…, colore del pallino
- size=8, dimensione
Si aggiungono nuovi punti al grafico con
- g1.plot(pos=(xi, yi)), il punto i-esimo generato in un ciclo
- g1.plot(pos=[(xi, yi), (xj, yj), (xk, yk)]), più punti in una lista pre-calcolata
- g1.plot(pos=(xi, yi), color=color.cyan), ogni punto può avere un colore diverso…
![]() |
from visual import * from visual.graph import * punti=[(-10,-10),(10,20),(20,-5),(30,10)] g=gcurve() g.plot(pos=punti) |
![]() |
from visual import * from visual.graph import * punti=[(-10,-10),(10,20),(20,-5),(30,10)] g=gcurve(color=color.cyan) g.plot(pos=punti) |
gdots()
gdots() rappresenta graficamente dei punti singoli (dispersione…)
Gli attributi sono
- color …
- gdisplay …
- shape=”round”|“square”, pallino oppure quadratino
- size=5, dimensione dei punti
![]() |
from visual import * from visual.graph import * punti=[(-10,-10),(10,20),(20,-5),(30,10)] g=gdots() g.plot(pos=punti) |
![]() |
from visual import * from visual.graph import * punti=[(-10,-10),(10,20),(20,-5),(30,10)] g=gdots(shape='square', size=10, color=color.cyan) g.plot(pos=punti) |
ghbars()
ghbars() realizza grafici a barre orizzontali.
Gli attributi sono
- color …
- delta=1, lo spessore delle barre
- gdisplay …
- pos=(x,y), le coppie ascissa-ordinata
con
- x, l’ascissa, è la lunghezza in orizzontale
- y, l’ordinata, è la posizione in verticale
![]() |
from visual import * from visual.graph import * punti=[(-10,-10),(10,20),(20,-5),(30,10)] g=ghbars() g.plot(pos=punti) |
![]() |
from visual import * from visual.graph import * punti=[(-10,-10),(10,20),(20,-5),(30,10)] g=ghbars(delta=2,color=color.cyan) g.plot(pos=punti) |
ghistogram()
ghistogram() elabora una lista di valori, li distribuisce nei contenitori (intervalli) prestabiliti e rappresenta la loro distribuzione con un istogramma
- accumulate=False, le chiamate successive di plot() genereranno un nuovo grafico
- accumulate=True, le chiamate successive di plot() accumuleranno i valori con i precedenti
- average=False, i valori rappresentati sono i conteggi (frequenze assolute)
- average=True, i valori rappresentati sono le percentuali (frequenze relative)
- bins=…, gli intervalli nei quali verranno suddivisi e conteggiati i valori nella lista
- range(0,10)
- range(0,100,10)
- arange(0,10,0.5)
- …
- color …
- gdisplay …
I valori da elaborare si assegnano all’attributo data e devono essere contenuti in una lista
- g.plot(data=lista)
Esempio dal sito ufficiale
Supponi di avere una lista delle età di un gruppo di persone, per esempio [5, 37, 12, 21, 8, 63, 52, 75, 7].
L’obiettivo è di ordinare questi dati in intervalli larghi 20 anni e di visualizzare quante persone ci sono in ciascun intervallo
- [5, 37, 12, 21, 8, 63, 52, 75, 7]
- Età in ordine: [5, 7, 8, 12, 21, 37, 52, 63, 75]
- Età separate: [5, 7, 8, 12], [21, 37], [52], [63, 75]
Quindi
- In [0, 19) ci sono 4 persone, [5, 12, 8, 7]
- In [20, 39) ci sono 2 persone [21, 37]
- In [40, 59) c’è 1 persona [52]
- In [60-79) ci sono 2 persone [63, 75].
![]() |
from visual import * from visual.graph import * anni=[5, 37, 12, 21, 8, 63, 52, 75, 7] graf=ghistogram(bins=range(0,80,20)) graf.plot(data=anni) |
![]() |
from visual import * from visual.graph import * anni=[5, 37, 12, 21, 8, 63, 52, 75, 7] graf=ghistogram(bins=range(0,80,20), color=color.cyan) graf.plot(data=anni) |
gvbars()
gvbars() realizza grafici a barre verticali.
Gli attributi sono
- color …
- delta=1, lo spessore delle barre
- gdisplay …
- pos=(x,y), le coppie ascissa-ordinata
con
- x, l’ascissa, è la posizione in orizzontale
- y, l’ordinata, è l’altezza in verticale
![]() |
from visual import * from visual.graph import * punti=[(-10,-10),(10,20),(20,-5),(30,10)] g=gvbars() g.plot(pos=punti) |
![]() |
from visual import * from visual.graph import * punti=[(-10,-10),(10,20),(20,-5),(30,10)] g=gvbars(delta=2, color=color.cyan) g.plot(pos=punti) |