"""
Figura a singolo frame
a. figura semplice con metodo .plot (come da terminale)
b. figura con due tracce, labels e range temporale
c. figura con legend
"""

import numpy as np                     # si usa quasi sempre
import matplotlib.pyplot as plt        # necessario per graficare
import tokdata                             # per lettura dati

# a. figura semplice
ns1 = 40225
Ip1 = tokdata.ftudata(ns1, 'ZZZZED.IPL')   # simile all'input di shox

Ip1.plot()


# b. figura con altra traccia aggiunta
ns2 = 40217
channel = 'ZZZZED.IPL'                 # invece di scrivere la stringa nella chiamata ftu
Ip2 = tokdata.ftudata(ns2, channel)

plt.figure(facecolor='w')              # imposta cornice bianca
Ip1.plot()
Ip2.plot(color='r')                    # imposto colore (altrimenti usciva verde)
plt.xlim([0.0, 1.5])                   # limiti sulla x
plt.xlabel('Time (s)')
plt.ylabel('Plasma current (A)')
plt.title('Esercizio1a: Ip in pulses '+ str(ns1) + ' and ' + str(ns2)) # concatenazione di stringhe

# c. figura con dati spacchettati e legend
plt.figure(facecolor='w')                                              # imposta cornice bianca
plt.plot(Ip1.t, 1.e-6*Ip1.v, label='pulse '+str(ns1))                  # usati dati .t e .v invece del metodo plot
plt.plot(Ip2.t, 1.e-6*Ip2.v, color='r', label='pulse '+str(ns2))
plt.xlim([0.0, 0.4])                                                   # limiti sulla x
plt.xlabel('Time (s)')
plt.ylabel('Plasma current (MA)')
plt.title('Esercizio1a: Ip in pulses {} and {}'.format(ns1, ns2))      # altra costruzione di stringa
#plt.legend()                                                           # mostra le labels definite nelle plot
plt.legend(loc=4, prop={'size':10})                                    # mostra le labels definite nelle plot


plt.show()                        # senza questa i grafici non escono (ma in spyder non serve)

""" 
usare pan per mostrare dati nascosti
ridimensionare carattere legend
spostare la legend con loc
salvare figura in png ed eps
"""
