Benutzer-Werkzeuge

Webseiten-Werkzeuge


gnuplot

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
gnuplot [2016-04-12 22:49:58] – Externe Bearbeitung 127.0.0.1gnuplot [2017-04-10 14:26:20] (aktuell) – [3 Spalten] manfred
Zeile 1: Zeile 1:
 +====== 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 ===
 +
 +<file bash 2-Spalten-Grafik.plt>
 +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'</file>
 +
 +<file>
 +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
 +</file>
 +
 +  > gnuplot 2-Spalten-Grafik.plt
 +
 +=== 3 Spalten ===
 +
 +<file bash 3-Spalten-Grafik.plt>
 +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'
 +</file>
 +
 +<file>
 +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
 +</file>
 +
 +  > gnuplot 3-Spalten-Grafik.plt
 +