2011-09-07 14 views
17

Utilizzando il comando standard di trama, ottengo, quello che voglio se non che il yrange viene impostata automaticamente da (ad esempio) 275 a 300.Come accedere ai valori dell'intervallo (auto) di Gnuplot e modificarli per aggiungere un margine?

Purtroppo, ho diversi punti di dati con coordinata y 300, in modo tale che essi sono non visibile (a causa di linee di confine, ecc.).

Quindi, c'è un modo per impostare il massimo yrange in modo tale che siano sempre i dati massimi più per es. 5 unità?

Utilizzando autoscale, yrange è impostato su 275: 300. Impostando esplicitamente l'intervallo su 275: 305 funzionerebbe per un file di dati ma non per altri. Quindi ho bisogno di qualche metodo generico per determinare il punto max-dati e impostare il yrange più grande.

+0

https://groups.google.com/forum/#!topic/comp.graphics.apps.gnuplot/JN3CrdPBDpU –

risposta

11

ci sono Gnuplot valori definiti GPVAL_Y_MAX e GPVAL_DATA_Y_MAX (anche GPVAL_Y_MIN, GPVAL_DATA_Y_MIN ...). Dopo la trama, il valore massimo verrà memorizzato in questi valori. Quindi puoi tracciare i tuoi dati quindi set yrange GPVAL_Y_MAX+(GPVAL_Y_MAX-GPVAL_Y_MIN)*0.05. In questo momento si tracciano i dati per la seconda volta. Questa volta ottieni ciò che vuoi. Quello che segue è il mio codice.

 
    reset 
    plot "data.dat" u 1:2 #To get the max and min value 
    MAX=GPVAL_Y_MAX 
    MIN=GPVAL_Y_MIN 
    set yrange [MIN-(MAX-MIN)*0.05:MAX+(MAX-MIN)*0.05] 
    #Add a fixed value is not a good idea, so I use a relative one 
    set term png 
    set output "out.png" 
    plot "data.dat" u 1:2 w p notitle #This plot will create a file 
    #named out.png which is waht you want. 

ho imparato il metodo da questo article-- http://gnuplot-surprising.blogspot.com/2011/09/advanced-background-color-1.html

+9

'set offset grafico 0, 0, 0.05, 0.05' faranno la stessa cosa. –

21
set offsets <left>, <right>, <top>, <bottom> 

fare. Notare che la scala segue la scala dei dati, quindi alla fine dipenderà dai dati che si desidera tracciare. In alternativa, è possibile utilizzare set offsets graph ... per utilizzare invece la frazione della dimensione del grafico.

Problemi correlati