PDA

View Full Version : [Python] doppi valori sullo stesso asse x


SoONicK
18-02-2013, 17:24
Salve a tutti.
Ho sviluppato il seguente codice per plottare la figura in allegato:
rc('font',**{'family':'serif','serif':['Helvetica']})
rc('ps',usedistiller='xpdf')
rc('text', usetex=True)
#------------------------------------------------------

tmin=56203
tmax=56250

data=pyfits.open('http://heasarc.gsfc.nasa.gov/docs/swift/results/transients/weak/GX304-1.orbit.lc.fits')

time = data[1].data.field(0)/86400. + data[1].header['MJDREFF'] + data[1].header['MJDREFI']
rate = data[1].data.field(1)
error = data[1].data.field(2)
data.close()

cond = ((time > tmin) & (time < tmax)) | ((time + 132.5 > tmin) & (time + 132.5 < tmax)) | ((time + 265 > tmin) & (time + 265 < tmax) )
time=time[cond]
rate=rate[cond]
error=error[cond]

#..plot the current light curve
errorbar(time, rate, error, fmt='r.', capsize=0)
gca().xaxis.set_major_formatter(FormatStrFormatter('%5.1f'))

#..overplot a previous outburst
errorbar(time + 132.5, rate, error, fmt='b.', capsize=0)
errorbar(time + 265, rate, error, fmt='k.', capsize=0)
axis([tmin,tmax,-0.00,0.45])
xlabel('Time, MJD')

savefig("sync.eps",orientation='portrait',papertype='a4',format='eps')
os.system('gv sync.eps')


E la figura si trova qui: http://tinypic.com/view.php?pic=2e4ew74&s=6
La figura rappresenta delle curve di luce (conteggi verso il tempo) di una sorgente periodica. I picchi rossi sono l'emissione piu' recente. Quelli blu quella passata, e quello nero quella prima ancora.
Il tempo sull'asse x e' il tempo relativo alla curva di luce piu' recente.
Quello che voglio fare io e' riportare sull'asse x anche i tempi degli altri due picchi, magari coi rispettivi colori, SOTTO i numeri che gia' stanno sull'asse x.
In pratica, ad esempio, sotto il valore 56210 deve starci 56110 (diverso colore), e lo stesso per gli altri ticks.
Qualche suggerimento please?