Computer 4 dummy

Informatica facile a portata di tutti

Matplotlib – Grafico lineare

In questo capitolo vediamo come utilizzare la libreria Matplotlib di python per la creazione e visualizzazione di grafici lineari. L’indice completo della guida Matplotlib è a questo link: https://computer4dummy.altervista.org/programmazione-guide-alla-programmazione/python-data-analisi/matplotlib-per-python/

Import della libreria

Importiamo la libreria Matplotlib con il seguente comando:

import matplotlib.pyplot as plt

Se non ci sono errori visualizzati possiamo procedere con il primo semplice esempio.

Il primo grafico

Proviamo ora a visualizzare un semplice grafico della funzione seno impostando gli assi x e y.
Per farlo importiamo anche la libreria numpy per gestire gli array.

import numpy as np

x = np.linspace(0,10,10)
y = np.sin(x)

Ora per generare il grafico si utilizza il comando plot().

plt.plot(x, y)
Out[8]: [<matplotlib.lines.Line2D at 0xc161710>]
esempio plt.plot(x,y)

 

a seconda della versione utilizzata visualizzerete il grafico a fianco, in caso contrario usate il comando plt.show().

Etichette e titolo del grafico

Ora se vogliamo inserire informazioni utili come il nome degli assi e il titolo del grafico possiamo farlo in questo modo:

plt.interactive(False)

plt.plot(x, y)
Out[30]: [<matplotlib.lines.Line2D at 0xd6a8c50>]

plt.xlabel("Tempo")
Out[31]: Text(0.5,0,u'Tempo')

plt.ylabel("Funzione nel tempo")
Out[32]: Text(0,0.5,u'Funzione nel tempo')

plt.title("Matplotlib grafico")
Out[33]: Text(0.5,1,u'Matplotlib grafico')

plt.show()

Eseguendo le funzioni in ordine il grafico che otteniamo è il seguente:

Libreria Matplotlib di python con intestazioni

Miglioriamo la grafica

Nell’esempio sopra abbiamo utilizzato solamente 10 punti per rappresentare l’asse delle x di conseguenza il risultato della funzione sen(x) è composta da delle linee piuttosto squadrate.
Nel prossimo esempio proviamo a vedere la differenza calcolando 1000 punti in questo modo:

x = np.linspace(0, 10 , 1000)
y = np.sin(x)

plt.plot(x,y)
Out[41]: [<matplotlib.lines.Line2D at 0xdb26400>]

plt.show()

il risultato che otterremo è questo:

Grafico della libreria matplotlib con 1000 punti