2013-07-10 20 views
11

Ho un istogramma con alcuni valori piccoli e alcuni valori molto grandi. Come posso spezzare l'asse y in due parti?gnuplot, interruzione asse y in due parti

EDIT:

enter image description here

gnuplot campione:

set style histogram columnstacked 
set style data histograms 
set key autotitle columnheader 
plot for [i=2:6] 'test.dat' using i 

test.dat:

action device1 device2 device3 
load 200 203 190 2 4 
process 3 9 6 7 3 
save 4 2 7 4 3 
+0

Credo che sia possibile specificare manualmente 'yticks' – mishik

+0

ytic specifica solo quali etichette vengono disegnate vicino all'asse. Non introduce ellissi. –

risposta

11

La mia risposta si basa sull'esempio e commentare this website. In sostanza, siete alla ricerca di un rotto asse y, che può essere ottenuta utilizzando l'opzione multiplot:

reset 
unset key 
bm = 0.15 
lm = 0.12 
rm = 0.95 
gap = 0.03 
size = 0.75 
kk = 0.5 # relative height of bottom plot 
y1 = 0.0; y2 = 15.0; y3 = 180.0; y4 = 220.0 

set style histogram columnstacked 
set style data histograms 
set key autotitle columnheader 
set style fill solid 1.0 border -1 

set multiplot 
set border 1+2+8 
set xtics nomirror 
set ytics nomirror 
set lmargin at screen lm 
set rmargin at screen rm 
set bmargin at screen bm 
set tmargin at screen bm + size * kk 

set yrange [y1:y2] 
plot for [i=2:6] 'test.dat' using i 

unset xtics 
unset xlabel 
set border 2+4+8 
set bmargin at screen bm + size * kk + gap 
set tmargin at screen bm + size + gap 
set yrange [y3:y4] 

plot for [i=2:6] 'test.dat' using i 

unset multiplot 

Osservazioni:

  • Il primo blocco di codice specifica la dimensione trama, come bene come i due min/max per la gamma dell'asse y.
  • Il secondo blocco di codice imposta lo stile dell'istogramma. Ti suggerisco di usare colonne piene (altrimenti potresti ottenere i colori sbagliati in cui la trama è tagliata dalla gamma y).
  • Il terzo blocco avvia l'ambiente multiplot e imposta il grafico inferiore (quarto blocco).
  • Il quinto blocco di codice definisce la trama superiore.
  • Per personalizzare la vostra trama, modificare i parametri del primo blocco (bm, lm, rm, gap, size, kk e yi)

E questo è il risultato:

enter image description here

+0

A prima vista sembra fantastico. Grazie! Non posso testarlo adesso, però. Riferirò se ha funzionato in seguito. –

+0

Questo non è davvero intuitivo, ma geniale! Funziona alla grande! Grazie @Schorsch! –