Visual – Grafici

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
    1. shape=”round”|“square”, …oppure con un quadratino
    2. dot_color=…, colore del pallino
    3. 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

  1. In [0, 19) ci sono 4 persone, [5, 12, 8, 7]
  2. In [20, 39) ci sono 2 persone [21, 37]
  3. In [40, 59) c’è 1 persona [52]
  4. 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)

Lascia un commento