At My Fingertips

Documentation

Diagramma a barre

Implementiamo una funzione che trasforma una lista di numeri in un diagramma a barre.

Alla fine, dovresti riuscire a chiamarlo in questo modo:

diagramma_barre([0.5, 1.0, 0.9, 1.0, 1.5, 0.1], 200, 100)

bar chart

Una singola barra

Un diagramma a barre è formato da barre piazzate una accanto all'altra. Per determinare l'altezza di una barra, dobbiamo tenere in considerazione:

  • Lo spazio che abbiamo a disposizione per il diagramma completo (specificamente l' altezza_diagramma);
  • Il valore rappresentato da una specifica barra (valore);
  • Il valore massimo che dovrà essere rappresentato dal diagramma (valore_massimo), che sarà rappresentato dalla barra più alta, la quale occuperà tutta l' altezza_diagramma.

Calcola l' altezza_barra, poi costruisci un rettangolo con le dimensioni necessarie e di colore rosso.

Loading...

Uno spazio

Vogliamo lasciare uno spazio tra una barra e l'altra. Per costruire uno spazio di una larghezza specifica, possiamo creare un rettangolo con altezza 0. Anche se dobbiamo specificare il colore del rettangolo, il colore che sceglieremo non ha reale importanza, perché il rettangolo ha altezza 0 e, di conseguenza, è invisibile.

Loading...

Possiamo "mostrare" lo spazio creando due barre di larghezza 60 separate da uno spazio di larghezza 10.

Loading...

Vedi come sono separate? Quello è il nostro spazio!

Inoltre, hai notato che sono centrate verticalmente? Non vogliamo che il nostro diagramma abbia questo aspetto: vogliamo che tutte le barre siano allineate sul fondo. Quindi non utilizzeremo la funzione accanto per combinarle.

Un diagramma a barre completo

Ora che abbiamo le funzioni barra e spaziosiamo pronti a creare un diagramma a barre completo.

La nostra funzione diagramma_barre riceve come parametri una lista di valori e le dimensioni complessive (larghezza e altezza) del grafico. Date queste informazioni, calcola:

  • valore_massimo - il valore massimo tra quelli presenti nella lista
  • numero_barre - il numero delle barre
  • numero_spazi - il numero di spazi tra una barra e l'altra
  • larghezza_barra - la larghezza di una singola barra (dati larghezza, numero_barre, numero_spazi e frazione_larghezza_spazio)
  • larghezza_spazio - dati larghezza_barra e frazione_larghezza_spazio

Date tutte queste informazioni, implementa un ciclo che utilizza barra, spazio, grafica_vuota, componi e fissa per combinare le barre e gli spazi necessari. Assicurati che gli spazi esistano unicamente tra una barra e l'altra (la prima barra tocca il bordo sinistro del diagramma, l'ultima barra il destro).

Suggerimenti:

  • puoi facilmente identificare il valore massimo presente in una lista con la funzione max(nome_lista); la funzione len(nome_lista) restituisce il numero di elementi che compongono una lista.
  • enumerate restituisce l'indice ("i") di ogni elemento della lista (cioè la posizione che l'elemento occupa nella lista) e il suo valore: nel nostro esempio, eseguendo un ciclo for sulla lista [0.5, 1.0, 0.9, 1.0, 1.5, 0.1], durante la prima iterazione avremo i = 0 e valore = 0.5, durante la seconda iterazione avremo i = 1 e valore = 1.0 e così via. Puoi usare il valore di i per controllare se sei arrivato all'ultima barra (nel quale caso non andrà aggiunto lo spazio a destra): nel nostro esempio, dato che lavoriamo su una lista di sei elementi, all'ultima iterazione del ciclo i sarà uguale a 5 (cioè numero_barre - 1).
Loading...

This activity has been created by Lardelli and is licensed under CC BY-SA 4.0.

It is derived from this activity.

Diagramma a barre

Logo of PyTamaro

PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI

Privacy PolicyPlatform Version c08406b (Wed, 20 Nov 2024 12:30:00 GMT)