English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

istruzione a barra Matplotlib

Il grafico a barre o a barra è un tipo di grafico o grafico che mostra dati categorici con barre rettangolari, la cui altezza o lunghezza è proporzionale ai valori che rappresentano. Le barre possono essere disegnate verticalmente o orizzontalmente.

Il grafico a barre mostra il confronto tra categorie discrete. Un asse dell'istogramma mostra le categorie specifiche da confrontare, mentre l'altro asse rappresenta i valori di misurazione.

L'API Matplotlib fornisce la funzione bar(), che può essere utilizzata sia in stile MATLAB che in API orientata agli oggetti. La firma della funzione bar() utilizzata insieme all'oggetto axis è la seguente -

# Nome del file: example.py
# Copyright: 2020 Da w3codebox
# Autore: it.oldtoolbag.com
# Data: 2020-08-08
ax.bar(x, height, width, bottom, align)

La funzione utilizza i limiti (x - width = 2; x + width = 2; bottom; bottom + height) per legare i rettangoli e creare grafici a barre.

I parametri della funzione sono -

x - sequenza di scalari che rappresenta l'asse x delle barre. Se x è il centro (predefinito) o il margine sinistro delle barre, viene utilizzato il controllo di allineamento. height - scalare o sequenza di scalari che rappresenta l'altezza delle barre. width - scalare o array simile, opzionale. La larghezza delle barre è predefinita a 0,8. bottom - scalare o array simile, opzionale. L'asse y delle barre è predefinito a None. align - {'center', 'edge'}, opzionale, predefinito: center.

La funzione restituisce un oggetto container Matplotlib che contiene tutte le barre. Ecco un esempio semplice di grafico a barre Matplotlib. Mostra il numero di studenti per le diverse materie offerte da un college.

# Nome del file: example.py
# Copyright: 2020 Da w3codebox
# Autore: it.oldtoolbag.com
# Data: 2020-08-08
#!/usr/bin/env python
 #coding=utf-8
 import matplotlib.pyplot as plt
 import numpy as np
 import math
 plt.rcParams['font.sans-serif'] = ['SimHei'] # Passo 1 (sostituire il font sans-serif)
 plt.rcParams['axes.unicode_minus'] = False # Testo originale proveniente da 【立地货】,per la riproduzione commerciale contattare l'autore per ottenere l'autorizzazione,per uso non commerciale conservare il link originale:
 fig = plt.figure()
 ax = fig.add_axes([0,0,1,1])
 langs = ['C', 'C++', 'Java', 'Python', 'PHP']
 students = [23,17,35,29,12]
 ax.bar(langs,students)
 plt.show()

Esegui il codice di esempio sopra per ottenere i seguenti risultati -

Quando si confrontano più numeri e si modifica un variabile, potrebbe essere necessario un grafico a barre con una barra di colore diverso per un valore di quantità.

È possibile disegnare più grafici a barre utilizzando lo spessore e la posizione delle barre. Le variabili dei dati contengono quattro valori di tre serie. Il seguente script mostrerà tre barre di tre grafici a barre. Lo spessore di queste barre è di 0,25 unità. Ogni grafico a barre si muoverà di 0,25 unità rispetto al precedente. L'oggetto dei dati è un grafico a più variabili, che contiene il numero di studenti ammessi nei tre dipartimenti dell'Istituto di Ingegneria negli ultimi quattro anni.

# Nome del file: example.py
# Copyright: 2020 Da w3codebox
# Autore: it.oldtoolbag.com
# Data: 2020-08-08
#!/usr/bin/env python
 #coding=utf-8
 import matplotlib.pyplot as plt
 import numpy as np
 import math
 plt.rcParams['font.sans-serif'] = ['SimHei'] # Passo 1 (sostituire il font sans-serif)
 plt.rcParams['axes.unicode_minus'] = False # Testo originale proveniente da 【立地货】,per la riproduzione commerciale contattare l'autore per ottenere l'autorizzazione,per uso non commerciale conservare il link originale:
 data = [[30, 25, 50, 20],
 [40, 23, 51, 17],
 [35, 22, 45, 19]]
 X = np.arange(4)
 fig = plt.figure()
 ax = fig.add_axes([0,0,1,1])
 ax.bar(X + 0.00, data[0], color = 'b', width = 0.25)
 ax.bar(X + 0.25, data[1], color = 'g', width = 0.25)
 ax.bar(X + 0.50, data[2], color = 'r', width = 0.25)
 plt.show()

Esegui il codice di esempio sopra per ottenere i seguenti risultati -

Il grafico a barre accumulate rappresenta le barre di diversi gruppi sovrapposte. Il risultato è l'altezza delle barre che mostra il risultato combinato dei gruppi.

Il parametro opzionale bottom della funzione pyplot.bar() specifica il valore di partenza delle barre. Non parte da zero e arriva a un valore, ma parte dal basso e arriva al valore. La prima chiamata a pyplot.bar() disegna una barra blu. La seconda chiamata a pyplot.bar() disegna un grafico a barre rosse, con la parte inferiore della barra blu posizionata sopra la parte superiore della barra rossa.

# Nome del file: example.py
# Copyright: 2020 Da w3codebox
# Autore: it.oldtoolbag.com
# Data: 2020-08-08
#!/usr/bin/env python
 #coding=utf-8
 import matplotlib.pyplot as plt
 import numpy as np
 import math
 plt.rcParams['font.sans-serif'] = ['SimHei'] # Passo 1 (sostituire il font sans-serif)
 plt.rcParams['axes.unicode_minus'] = False # Testo originale proveniente da 【立地货】,per la riproduzione commerciale contattare l'autore per ottenere l'autorizzazione,per uso non commerciale conservare il link originale:
 N = 5
 menMeans = (20, 35, 30, 35, 27)
 womenMeans = (25, 32, 34, 20, 25)
 ind = np.arange(N) # le posizioni x per i gruppi
 width = 0.35
 fig = plt.figure()
 ax = fig.add_axes([0,0,1,1])
 ax.bar(ind, menMeans, larghezza, colore='r')
 ax.bar(ind, womenMeans, larghezza, basso=menMeans, colore='b')
 ax.set_ylabel('Punteggio')
 ax.set_title('Punteggio per gruppo e genere')
 ax.set_xticks(ind, ('G1', 'G2', 'G3', 'G4', 'G5'))
 ax.set_yticks(np.arange(0, 81, 10))
 ax.legend(etichette=['maschio', 'femmina'])
 plt.show()

Esegui il codice di esempio sopra per ottenere i seguenti risultati -