Korzystanie z programu gnuplot (index)
Parametry rysunku określamy za pomocą polecenia set. Powrót do domyślnych ustawień osiąga się za pomocą polecenia reset.
gnuplot> show all # wszystkie parametry gnuplot> show title # wartość parametru title gnuplot> set title "Wykres f(x)" gnuplot> unset title # wyłączenie tytułu gnuplot> set notitle # jw, dawna składnia gnuplot>
Domyślny zakres x to [-10:10], y jest skalowany do danych. Zakresy można ustawiać w poleceniu plot lub osobno (set xrange, set yrange).
plot [-5:5] sin(x) # zakres y domyślny plot [] [-2:2] sin(x) # zakres x domyślny
Są dostępne cztery zestawy osi do wykorzystania: x1y1 (default), x2y2, x1y2, x2y1.
gnuplot> help grid gnuplot> show grid gnuplot> help border gnuplot> show border gnuplot> help tics gnuplot> show tics
set grid # włączenie siatki pomocniczej unset grid
set border # domyślnie jest ramka unset border # wyłącza ramkę
set tics out # domyślnie jest "in" set xtics 0,.5,10 # od 0 do 10 co .5 set xtics ('a' 1, 'b' 3, 'c' 8) # ręczne ustawienia set xtics auto # ustawienia domyślne unset xtics # wiadomo, podobnie ytics, x2tics, y2tics
Parametr title występuje w kilku różnych kontekstach, może odnosić się do różnych części rysunku.
gnuplot> help title gnuplot> show title
set title "Funkcja sinus" # tytuł rysunku set key title "Legenda" # tytuł do legendy plot sin(x) title "sinus" # oznaczenie w legendzie
Pojedyńcze wpisy w legendzie mogą być wyłączone w poleceniu plot przez notitle lub title "".
gnuplot> help key gnuplot> show key
unset key # bez legendy # set key {on|off} {default} # {inside | outside} # {lmargin | rmargin | tmargin | bmargin} # {above | over | below | under} # też dozwolone # {at <position>} # at 1.2,3.4 # {left | right | center} # {top | bottom | center} # {vertical | horizontal} # domyślnie vertical # {Left | Right} # justowanie napisu w legendzie, domyslnie Right # {{no}reverse} # zamiana kolejności napisu i probki linii # {{no}invert} # opis pierwszej linii na końcu legendy # {samplen <sample_length>} # domyślnie 4 # {spacing <vertical_spacing>} # domyślnie 1.25 # {width <width_increment>} # {height <height_increment>} # {{no}autotitle {columnheader}} # tylko opisy z title będą widoczne # {title "<text>"} {{no}enhanced} # {font "<face>,<size>"} {textcolor <colorspec>} # {{no}box { {linestyle | ls <line_style>} # | {linetype | lt <line_type>} {linewidth | lw <line_width>}}} set key at 1,2 # legenda w punkcie (1,2) set key outside # legenda na prawo od rysunku set key below # legenda pod rysunkiem set key box # domyślnie jest nobox set key box lt 3 # ramka z linetype 3 set key right bottom set key left top set key right bottom title "Legenda" box # tytuł do legendy set key default # powrót do domyślnych ustawień
# Przykład. set title "Funkcje sin(x) i x^2" # Etykiety osi. set xlabel "x1" set x2label "x2" set ylabel "y1" set y2label "y2" # Zakresy na osiach. set xrange [-3:3] set yrange [-2:2] set x2range [-1:1] set y2range [0:1] #set autoscale # powrót do domyślnych ustawień zakresów set xtics nomirror set ytics nomirror 1 # skok co 1 set x2tics autofreq # x2 ma domyslnie nomirror #set y2tics .5 # co ile set y2tics autofreq # y2 ma domyslnie nomirror plot sin(x) axes x1y1, x*x axes x2y2
Etykiety mają przyporządkowany znacznik (tag), czyli liczbę całkowitą. Domyślnie jest ustawiana najniższa niewykorzystana liczba. Dzięki znacznikowi możemy dodefiniować parametry etykiety (set label) lub usunąć etykietę (unset label). Etykiety mogą zostać wczytane z pliku (help labels).
gnuplot> help label gnuplot> show label
# Składnia: # set label {<tag>} # {"<label text>"} # {at <position>} # at x,y lub at x,y,z # {left | center | right} # domyślnie flush left # {norotate | rotate {by <degrees>}} # {font "<name>{,<size>}"} # {noenhanced} # wyłączenie trybu enhanced, gdy etykieta ma _ lub ^ # {front | back} # przy front dane nie zakryją etykiety # {textcolor <colorspec>} # {point <pointstyle> {offset x, y} | nopoint} # Przy etykiecie może być punkt, pointstyle to zestaw lt, pt, ps. # Domyślnie jest nopoint. set label 1 "Napis 1" at 1,10 center # domyslnie left set label 1 left # zmiana center na left set label 2 "Napis 2" at 1,15 right set label 2 at 1,17 # będzie w nowym miejscu set label 2 rotate by 90 set label 3 "S" at 3,4 center font "Symbol,24" # symbol Sigma 24pt set label 3 "{/Symbol=24 S}" at 3,4 center # chyba można tak set label 4 "" at 3,5 point pt 7 ps 0.5 # punkt unset label 2 # wyłączenie etykiety nr 2 unset label # wyłączenie wszystkich etykiet
Globalne ustawienia można przesłonić ustawieniem w plot (np. dla pointsize mnożniki się nie składają).
gnuplot> help style gnuplot> show style gnuplot> show colornames
# Globalne ustawienie stylu. # Dostępne style: points, lines, linespoints, impulses, dots, # steps, fsteps, histeps, # boxes (histogram), set style data points # domyślne set style function lines # domyślne # Kolory skojarzone z typami linii. # lt 1 (red) # lt 2 (green) # lt 3 (blue) # lt 4 (magenta) # lt 5 (cyan) # lt 6 (sienna) # lt 7 (orange) # lt 8 (coral) # linecolor <colorspec> | lc <colorspec> # lc rgbcolor "colorname" # jedna z nazw wbudowanych (show colornames) # lc rgbcolor "#RRGGBB" # linetype 2 | lt 2 # drugi kolor/typ domyślny prostej # linewidth 2 | lw 2 # dwa razy szersza niż domyślna (multiplier) # pointtype 3 | pt 3 # trzeci ksztalt domyślny punktu # pointsize 0.5 | ps 0.5 # o połowę mniejsze (multiplier) set linewidth 2 # globalnie set pointsize 3 # globalnie
# Definiowaie stylu wprost w poleceniu plot. plot "file1.dat" title "data 1" with lines lt 1 lw 2.0,\ "file2.dat" title "data 2" with points pt 4 ps 1.5
# Ustawienie used-defined ls 1 (lc+lt+lw+pt+ps). #set style line 1 lc rgb '#0060ad' lt 1 lw 2 pt 8 ps 1.5 set style line 1 lt 3 lw 2.0 pt 5 ps 1.0 # Ustawienie used-defined ls 2 (lc+lt+lw+pt+ps). #set style line 2 lc rgb '#1260ad' lt 2 lw 4 pt 5 ps 1.0 set style line 2 lt 1 lw 1.0 pt 4 ps 1.5 # W plot teraz można krótko odwołać się do stylów przez ls. plot "file1.dat" title "data 1" with linespoints ls 1,\ "file2.dat" title "data 2" with points ls 2
gnuplot> help logscale gnuplot> show logscale
# Składnia: # set logscale <axes> <base> # Jeżeli nie podamy osi, to dotyczy to wszystkich osi. # unset logscale <axes> # axes - x, x2, y, y2, z, cb # base - 10 (default), 2, itp. set log y 2 # skala log base 2 na osi y unset log y unset log # usuwamy logscale ze wszystkich osi
set logscale xy # obie osie w skali log # prościej: #set logscale plot [1:10] x*x*x
Polecenie przydaje się przy trybach polar i multiplot.
# set size {{no}square | ratio r | noratio} {xscale,yscale} # square - synonim do "ratio 1" # ratio r - podaje się stosunek długości osi y do x # xscale,yscale - skala względem canvas set size square 0.5,0.5 # kwadratowy, pomniejszony set size ratio 2 # dwa razy wyższy niż szerszy