English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Nonostante sia facile generare grafici rapidamente utilizzando il modulo matplotlib.pyplot, si consiglia di utilizzare il metodo orientato agli oggetti perché può offrire una migliore gestione e personalizzazione dei grafici. La classe matplotlib.axes.Axes fornisce anche la maggior parte delle funzioni.
Il principale pensiero dietro l'uso di un metodo orientato agli oggetti più formale è creare un'istanza di oggetto grafico e quindi chiamare solo i metodi o le proprietà di quell'oggetto. Questo metodo aiuta a gestire meglio i tavoli di disegno con più disegni.
Nel'interfaccia orientata agli oggetti, Pyplot viene utilizzato solo per alcune funzioni, come la creazione di grafici, la creazione esplicita e il tracciamento degli oggetti grafici e assi. A questo livello, l'utente crea grafici utilizzando Pyplot, attraverso i quali può creare un o più oggetti assi. Questi oggetti assi vengono quindi utilizzati per la maggior parte delle operazioni di disegno.
Prima di tutto, crea un'istanza di grafica che fornisce un tela vuota.
# Nome del file: example.py # Copyright: 2020 By w3codebox # Autore: it.oldtoolbag.com # Data: 2020-08-08 fig = plt.figure()
Aggiungi l'asse alla grafica. Il metodo add_axes() richiede un oggetto lista di 4 elementi, che corrisponde ai lati sinistro, inferiore, larghezza e altezza della grafica. Ogni numero deve essere compreso tra 0 e 1 -
# Nome del file: example.py # Copyright: 2020 By w3codebox # Autore: it.oldtoolbag.com # Data: 2020-08-08 ax = fig.add_axes([0,0,1,1])
Imposta i tag dell'asse x e y e il titolo -
# Nome del file: example.py # Copyright: 2020 By w3codebox # Autore: it.oldtoolbag.com # Data: 2020-08-08 ax.set_title("sine wave") ax.set_xlabel('angle') ax.set_ylabel('sine')
chiama il metodo plot() dell'oggetto axes.
# Nome del file: example.py # Copyright: 2020 By w3codebox # Autore: it.oldtoolbag.com # Data: 2020-08-08 ax.plot(x,y)
Se si utilizza Jupyter notebookSe necessario, aggiungi l'istruzione %matplotlib inline; la funzione show() del modulo pyplot mostra le immagini.
Leggi ed esegui il seguente codice -
# Nome del file: example.py # Copyright: 2020 By w3codebox # Autore: it.oldtoolbag.com # Data: 2020-08-08 #! /usr/bin/env python #coding=utf-8 from matplotlib import pyplot as plt import numpy as np import math # Visualizza le impostazioni cinesi... plt.rcParams['font.sans-serif'] = ['SimHei'] # Passaggio 1 (sostituisci il font sans-serif) plt.rcParams['axes.unicode_minus'] = False # Passo due (risoluzione del problema di visualizzazione del segno meno sui assi delle coordinate) %matplotlib inline x = np.arange(0, math.pi*2, 0.05) y = np.sin(x) fig = plt.figure() ax = fig.add_axes([0,0,1,1]) ax.plot(x,y) ax.set_title("Onda Seno") ax.set_xlabel('Angolo') ax.set_ylabel('Seno') plt.show()
Il codice di sopra genera l'output seguente -
sotto Jupyter notebookEsegui il codice identico al
# Nome del file: example.py # Copyright: 2020 By w3codebox # Autore: it.oldtoolbag.com # Data: 2020-08-08 #! /usr/bin/env python #coding=utf-8 from matplotlib import pyplot as plt import numpy as np import math # Visualizza le impostazioni cinesi... plt.rcParams['font.sans-serif'] = ['SimHei'] # Passaggio 1 (sostituisci il font sans-serif) plt.rcParams['axes.unicode_minus'] = False # Passo due (risoluzione del problema di visualizzazione del segno meno sui assi delle coordinate) %matplotlib inline x = np.arange(0, math.pi*2, 0.05) y = np.sin(x) fig = plt.figure() ax = fig.add_axes([0,0,1,1]) ax.plot(x,y) ax.set_title("Onda Seno") ax.set_xlabel('Angolo') ax.set_ylabel('Seno') plt.show()
Visualizzazione dell'output come segue -