Sto provando a tracciare una singola serie temporale, ma voglio rappresentarla in due unità sugli assi sinistro e destro. Ecco cosa ho fatto finora.Stampa di dati singoli con due assi Y (due unità) in matplotlib
fig, ax1 = plt.subplots()
t = np.arange(1,50,1)
s1 = np.sin(t)*20000+40000 #synthetic ts, but closer to my data
ax1.plot(t, s1, 'b-')
ax1.set_xlabel('time')
ax1.set_ylim(20000,70000)
ax1.set_ylabel('km3/year')
km3yearToSv=31.6887646*(1/1e6)
ax2 = ax1.twinx()
s2 = s1*km3yearToSv
ax2.plot(t, s2, 'b-')
ax2.set_ylim(20000*km3yearToSv,70000*km3yearToSv)
ax2.set_ylabel('Sv')
Regolando la ylim(), posso farlo sembrare come una singola linea, ma alcuni aliasing può essere visto. Preferirei se non dovessi tracciare i dati due volte.
Qualche suggerimento?
AGGIORNAMENTO: Grazie, askewchan, per la soluzione perfetta!
Puoi includere l'intero script? – Leb