====== GnuPlot ======
===== Fehlermeldungen =====
bei dieser Fehlermeldung ist in meinem Fall ein Update schuld gewesen:
"gnuplot.plt", line 22: warning: Warning - difficulty fitting plot titles into key
"gnuplot.plt", line 22: warning: Terminal canvas area too small to hold plot.
Check plot boundary and font sizes.
in der Version 4.2 war die Syntax für das Terminal noch so:
set terminal png enhanced size 800 600
in der Version 4.4 musste die Syntax für das Terminal dann so aussehen:
set terminal png enhanced size 800,600
**Der Unterschied ist nur ein Komma!**\\
Die Korrektur musste ich in Zeile "5" machen, in der Warning wurde aber Zeile "22" genannt.
===== Erste Schritte mit GNU-Plot =====
==== Installation unter FreeBSD ====
cd /usr/ports/math/gnuplot ; make install && make clean
Hinweis:
(2D) ===> plot
(3D) ===> splot
=== interaktiver Modus ===
> gnuplot
show # Anzeige der Einstellungen
show all # zeigt alle Einstellungen an
help # Hilfe
help set # Hilfe
help set term # Hilfe
help commands # Hilfe
help commands splot # Hilfe
help commands plot # Hilfe
Ausgabe nach X11
set terminal x11
Ausgabe im PostScript-Format in Datei "out.ps"
set terminal postscript
set output "out.ps"
schreiben in "Ausgabe" (2D)
plot x*y
Beispiele:
plot sin(x)
plot f(x) = sin(x*a), a = .2, f(x), a = .4, f(x)
plot [t=1:10] [-pi:pi*2] tan(t)
schreiben in "Ausgabe" (3D)
splot x*y*z
**Beispiel einer Darstellung einer Population mit "plot":**
> vi population.dat
1965 103
1970 55
1975 34
1980 24
1985 10
> gnuplot
gnuplot> pop(x) = 103*exp((1965-x)/10)
gnuplot> plot [1960:1990] 'population.dat', pop(x)
**Beispiel einer Darstellung einer Population mit "plot":**
> vi datafile.dat
0 0 10
0 1 10
0 2 10
1 0 10
1 1 5
1 2 10
2 0 10
2 1 1
2 2 10
3 0 10
3 1 0
3 2 10
> gnuplot
gnuplot> splot 'datafile.dat'
=== batch Mode ===
Ausgabe im PNG-Format auf die Datei "plotout.png" einstellen
> echo 'set terminal png' >> .gnuplot
> echo 'set output "plotout.png"' >> .gnuplot
Input-Datei erstellen
> echo "splot f(x) = sin(x*a), a = .2, f(x), a = .4, f(x)" > gnuplot-input
gnuplot im Batch-Mode starten
> gnuplot gnuplot-input
"G N U P L O T Version 3.7 patchlevel 2" kann folgende Ausgabeformate:
----------------------------------------------------------------------
aed512
aed767
aifm
bitgraph
cgm
corel
dumb
dxf
eepic
emf
emtex
epslatex
epson-180dpi
epson-60dpi
epson-lx800
fig
gpic
hp2623a
hp2648
hp500c
hpdj
hpgl
hpljii
hppj
imagen
kc-tek40xx
km-tek40xx
latex
mf
mif
mp
nec-cp6
okidata
pbm
pcl5
pdf
png
postscript
pslatex
pstex
pstricks
qms
regis
selanar
starc
svg
table
tandy-60dpi
tek40xx
tek410x
texdraw
tgif
tkcanvas
tpic
vttek
x11
xlib
==== Beispiele ====
=== 2 Spalten ===
set terminal svg enhanced size 1280 960 fixed
set output "/tmp/2-Spalten-Grafik.svg"
set object 1 rectangle from screen 0,0 to screen 1,1 fillcolor rgb "white" behind
set samples 1001 # high quality
set border 31 linewidth .3 # thin border
set grid
set xdata time # x-Achse wird im Datums/Zeitformat skaliert
set timefmt "%Y-%m-%d_%H" # Format der vorliegenden Datums- oder Zeitangaben
set format x "%Y-%m-%d, %H Uhr" # Format für die Achsenbeschriftung
set xlabel "Zeit"
set ylabel "Anzahl"
set xtics rotate
set boxwidth 0.85 relative
set style fill solid 1.0
set key left top #outside box
plot "/tmp/2-Spalten.dat" using 1:2 with linespoints lc rgb 'blue' title ' Spalte 2'
2017-04-09_10 1318
2017-04-09_11 1796
2017-04-09_12 5155
2017-04-09_13 2038
2017-04-09_14 1698
2017-04-09_15 1915
2017-04-09_16 2809
2017-04-09_17 1596
2017-04-09_18 2662
2017-04-09_19 1520
2017-04-09_20 2649
2017-04-09_21 1548
2017-04-09_22 3318
2017-04-09_23 1769
> gnuplot 2-Spalten-Grafik.plt
=== 3 Spalten ===
set terminal svg enhanced size 1280 960 fixed
set output "/tmp/3-Spalten-Grafik.svg"
set object 1 rectangle from screen 0,0 to screen 1,1 fillcolor rgb "white" behind
set samples 1001 # high quality
set border 31 linewidth .3 # thin border
set grid
set xdata time # x-Achse wird im Datums/Zeitformat skaliert
set timefmt "%Y-%m-%d_%H" # Format der vorliegenden Datums- oder Zeitangaben
set format x "%Y-%m-%d, %H Uhr" # Format für die Achsenbeschriftung
set xlabel "Zeit"
set ylabel "Anzahl"
set xtics rotate
set boxwidth 0.85 relative
set style fill solid 1.0
set key left top #outside box
plot "/tmp/3-Spalten.dat" using 1:2 with linespoints lc rgb 'blue' title ' Spalte 2', "/tmp/3-Spalten.dat" using 1:3 with linespoints lc rgb 'red' title ' Spalte 3'
2017-04-09_10 1318 1881
2017-04-09_11 1796 2015
2017-04-09_12 5155 1802
2017-04-09_13 2038 1140
2017-04-09_14 1698 1209
2017-04-09_15 1915 1372
2017-04-09_16 2809 1151
2017-04-09_17 1596 1229
2017-04-09_18 2662 1291
2017-04-09_19 1520 1044
2017-04-09_20 2649 1550
2017-04-09_21 1548 1392
2017-04-09_22 3318 1785
2017-04-09_23 1769 1091
> gnuplot 3-Spalten-Grafik.plt