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

Matplotlib 简单绘图

In questa sezione, impareremo come creare un grafico semplice utilizzando Matplotlib. Supponiamo di voler visualizzare un grafico a linee angolari semplice in Matplotlib, in unità di radianti, corrispondenti ai valori sinusoidali. Prima di tutto, importare il modulo pyplot della libreria Matplotlib e utilizzare l'alias plt.

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : it.oldtoolbag.com
# Date : 2020-08-08
import matplotlib.pyplot as plt

Di seguito è necessario un insieme di numeri per disegnare. La libreria NumPy definisce vari funzioni di array, che sono importate con l'alias np.

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : it.oldtoolbag.com
# Date : 2020-08-08
import numpy as np

Utilizzare la funzione arange() della libreria NumPy per ottenere un oggetto ndarray di angoli tra 0 e 2π.

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : it.oldtoolbag.com
# Date : 2020-08-08
x = np.arange(0, math.pi*2, 0.05)

L'oggetto ndarray viene utilizzato come valori dell'asse x del grafico. Ottenere i valori sinusoidali corrispondenti agli angoli visualizzati sull'asse y con la seguente istruzione -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : it.oldtoolbag.com
# Date : 2020-08-08
y = np.sin(x)

Utilizzare la funzione plot() per disegnare i valori di due array.

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : it.oldtoolbag.com
# Date : 2020-08-08
plt.plot(x,y)

È possibile impostare il titolo del grafico e le etichette degli assi x e y.

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : it.oldtoolbag.com
# Date : 2020-08-08
plt.xlabel("angolo")
 plt.ylabel("onda")
 plt.title('onda sinusoidale')

La chiamata della funzione show() apre la finestra del visualizzatore di grafica -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : it.oldtoolbag.com
# Date : 2020-08-08
plt.show()

Il codice del programma completo è illustrato di seguito -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : it.oldtoolbag.com
# Date : 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 import matplotlib.pyplot as plt
 import numpy as np
 import math # needed for definition of pi
 # Visualizzazione delle impostazioni cinesi...
 plt.rcParams['font.sans-serif'] = ['SimHei']  # Passo uno (sostituzione del font sans-serif)
 plt.rcParams['axes.unicode_minus'] = False  # Passo due (risoluzione del problema di visualizzazione dei segni negativi degli assi)
 x = np.arange(0, math.pi*2, 0.05)
 y = np.sin(x)
 plt.plot(x,y)
 plt.xlabel(u"angolo")
 plt.ylabel("Seno")
 plt.title('Onda sinusoidale')
 plt.show()

Eseguendo il codice di esempio sopra riportato, si ottiene il seguente risultato -

Esegui il codice sopra riportato nel contesto di Jupyter Notebook.

Come descritto in precedenza, avvia Jupyter Notebook dal navigatore Anaconda o dalla riga di comando. Nella cella di input, inserire l'istruzione import per importare Pyplot e NumPy -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : it.oldtoolbag.com
# Date : 2020-08-08
from matplotlib import pyplot as plt
 import numpy as np

Per visualizzare l'output della grafica all'interno di Jupyter Notebook (non in un visualizzatore separato), inserire la seguente istruzione -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : it.oldtoolbag.com
# Date : 2020-08-08
%matplotlib inline

Il codice completo è illustrato di seguito -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : it.oldtoolbag.com
# Date : 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 import matplotlib.pyplot as plt
 import numpy as np
 import math # needed for definition of pi
 %matplotlib inline
 # Visualizzazione delle impostazioni cinesi...
 plt.rcParams['font.sans-serif'] = ['SimHei']  # Passo uno (sostituzione del font sans-serif)
 plt.rcParams['axes.unicode_minus'] = False  # Passo due (risoluzione del problema di visualizzazione dei segni negativi degli assi)
 x = np.arange(0, math.pi*2, 0.05)
 y = np.sin(x)
 plt.plot(x,y)
 plt.xlabel("Angolo")
 plt.ylabel("Seno")
 plt.title('Onda sinusoidale')
 plt.show()

在Jupyter Notebook内执行上面示例代码,得到以下结果 -