2013-07-10 17 views
11

Mam histogram z pewnymi małymi wartościami i pewnymi bardzo dużymi wartościami. Jak mogę podzielić oś Y na dwie części?gnuplot, przerwa oś y na dwie części

EDIT:

enter image description here

gnuplot próbki:

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

Wierzę, że możesz ręcznie określić 'yticks' – mishik

+0

ytics tylko określa, które etykiety są rysowane obok osi. Nie wprowadza elips. –

Odpowiedz

11

Moja odpowiedź jest oparta na przykładzie i komentować this website. W istocie, to szukasz złamaną oś y, co można osiągnąć za pomocą opcji 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 

Uwagi:

  • Pierwszy blok kodu określa rozmiar wydruku, jak oraz dwie min/maks. dla zakresu osi y.
  • Drugi blok kodu ustawia styl histogramu. Sugeruję, że użyłeś wypełnionych kolumn (w przeciwnym razie możesz uzyskać niewłaściwe kolory, w których wykres jest odcinany przez zakres y).
  • Trzeci blok uruchamia środowisko multiplot i ustawia dolny wykres (czwarty blok).
  • Piąty blok kodu definiuje górny wykres.
  • Aby dostosować swoją działkę, zmienić parametry w pierwszym bloku (bm, lm, rm, gap, size, kk i yi)

i jest to wynik:

enter image description here

+0

Na pierwszy rzut oka wygląda świetnie. Dzięki! Nie można tego teraz przetestować. Powiadomię, jeśli zadziała później. –

+0

To naprawdę nie jest intuicyjne, ale genialne! Działa świetnie! Dzięki @Schorsch! –

Powiązane problemy