Disegnare un grafico con Python da file txt

In questo tutorial vediamo come creare dei grafici utilizzando Python!

Nel mio caso ho utilizzato come ambiente di sviluppo Spyder su sistema operativo Linux (Ubuntu), ha una interfaccia grafica che ricorda molto quella di Matlab, anche la disposizione dei comandi è molto simile. Quindi, se anche voi avete dimestichezza con Matlab, non avrete problemi nell’usare Spyder.

Potete trovare  qui tutte le informazioni necessarie per installare e configurare Spyder e Anaconda, distribuzione opensource per data science and machine learning :

https://www.anaconda.com/what-is-anaconda/

Premessa

Molte volte vi sarà capitato, spesso in ambito scientifico, di avere una serie di dati da voler plottare, per capire come sono distribuiti o per fare altre osservazioni utili. Molte volte questi dati possono essere valori registrati da sensori di temperatura, pressione  oppure essere l’output di qualche analisi numerica, come quelle che si fanno con Nastran o Fluent.
In tutti questi casi, i dati sono organizzati in un file txt.

Python Code

Ipotizziamo che il file txt contenente i dati si chiami “sample.txt”, le prime righe di questo file sono:

0.999,0.0002
0.9961,0.0007
0.9911,0.0016
0.9843,0.0028
0.9755,0.0044
0.9649,0.0062

N.B. il punto (.) separa la parte intera di un numero da quella decimale, non la virgola.
Passiamo ora al codice vero e proprio:

import matplotlib.pyplot as plt
import numpy as np

print('Carico file txt')

x,y = np.loadtxt('sample.txt', delimiter = ',', unpack = 'True')

plt.xlabel('x')
plt.ylabel('y')
plt.title('Sample plot')
plt.plot(x,y, label='Punti del file txt')
plt.grid()
plt.legend()
plt.show()

Nella riga 1 e 2 importiamo delle librerie utili per eseguire i plot e caricare il file di testo, a differenza di Matlab, quì possiamo importare librerie e assegnare loro un nome diverso dall’originale, in modo da semplificare lo script.

Alla riga 3 importiamo ciò che è contenuto nel file di testo: nel mio caso importo due colonne di valori nelle variabili x & y. La stringa delimiter indica quale delimitatore è stato usato nel file di testo per separare le colonne, in questo caso la virgola (,).

Dalla riga 8 alla 14 eseguiamo il plot, con comandi simili a quelli che si usano in Matlab.

E questo è quello che otteniamo:

naca0015