#!/usr/bin/gnuplot
# gnuplot
# Allgemeines zu den Eingabedaten
set timefmt "%d.%m.%Y" # Zeitangaben in TT.MM.YYYY
set datafile separator ";" # Spaltenseparator
# Allgemeines zur Ausgabe
unset key # als Standard keine Legende
set style data lines # wird bei 'plot' überschrieben
set style fill transparent solid 0.4 # ebenfalls bei 'plot' überschrieben
set grid #
set border 3 # Bit 1 (unten) + Bit 2 (links)
# Bereiche/Format/etc X-Achse
set xdata time # X-Achse als Zeitachse
set xlabel 'Jahr' # Beschriftung X-Achse
set xlabel offset 0, 0.75 # Schrift etwas höher
set xrange ['30.06.1815':'30.06.2015']
set xtics '01.01.1000', 60 * 60 * 24 * 365.25 * 25
# xtics in Sekunden
# der Beginn der X-Einteilung kann außerhalb xrange
# liegen
set xtics offset 0, 0.5 # Beschritung näher an die X-Achse
set mxtics 5 # Skalenstriche
set xtics nomirror # Nur unten Skalieren
set format x '%Y' # Beschriftungsformat JJJJ
set xtics out # Skal. aussen damit sich nicht von Grafik
# überschr. wird
# Bereiche/Format/etc Y-Achse
set ylabel 'Einwohnerzahl' offset 2 # Abstand Achse/Label
set yrange [0:]
set ytics 1000
set ytics offset 0.5 # Schrift etwas nach rechts
set ytics nomirror
set decimalsign locale "de_DE.utf8" # Stelle Input und Output auf "," um
# set decimalsign ',' würde nur Output umstellen,
set format y "%'.0f" # Ausgabeformat
set mytics 5
set ytics out # Skal. aussen da sie sonst von Grafik
# überschr. wird
#### Markierungsbalken für die beiden Weltkriege etc.
# Die set-Befehle ggf. auskommentieren
# Attribute für Markierungsbalken
set style rect fillcolor lt -1 fillstyle solid 0.1 noborder
#
# == Dreißigjähriger Krieg
#set obj rect from '23.05.1618', graph 0 to '24.10.1648' , graph 1
#set label "Dreißigjähriger Krieg" at '30.06.1633', graph 0.8 rotate by +60 center
# == 1. Weltkrieg
set obj rect from '28.07.1914', graph 0 to '11.11.1918' , graph 1
set label "1. Weltkrieg" at '30.06.1916', graph 0.9 rotate by +60 center
# == 2. Weltkrieg
set obj rect from '01.09.1939', graph 0 to '04.05.1945' , graph 1
set label "2. Weltkrieg" at '30.06.1942', graph 0.9 rotate by +60 center
# == Tädärä
#set obj rect from '07.10.1949', graph 0 to '03.10.1990' , graph 1
#set label "DDR" at '01.01.1970', graph 0.9 rotate by +60 center
# Ausgabeformat: Wir erzeugen SVG
# Die Ausgabedaten leiten wir bei UNIX in eine Pipe und sind so bei Namen der
# Ausgabedatei flexibel (Aufruf: Progname.plt > Ausgabe-svg)
# Windowsbenutzer, die mit Pipes nicht umgehen könnten, sollten hier hier das
# folgende 'set output ...' auskommentieren und den Dateinamen ggf. ersetzen.
# set output 'Einwohnerentwicklung_von_Altrip.dat'
set term svg size 800,400 font "Arial,14"
# Die Parameter von 'set term' sind so gewählt, das man in Wikipedia bei einer
# Einbindung [[Datei:Meine_Grafik.svg|mini|400px|Text]] noch Schrift/Details
# erkennen kann.
# Erzeugen der Ausgabe
plot \
'Einwohnerentwicklung_von_Altrip.dat' using 1:2 with linespoints linecolor 'dark-blue' linetype 1 linewidth 1.5 pointtype 7 pointsize 0.30,\
Die folgenden Daten bitte in eine Textdatei unter dem Namen "Einwohnerentwicklung_von_Altrip.dat" abspeichern und ins gleiche Verzeichnis wie das GnuPlot-Script ablegen.
Update der Daten und Überschreiben der Grafik ausdrücklich erwünscht.
#
# Quelle:
# https://de.wikipedia.org/wiki/Altrip#Bev%C3%B6lkerungsentwicklung
#
30.06.1815;326
30.06.1835;533
30.06.1871;919
30.06.1905;1966
30.06.1939;3607
30.06.1950;3683
#
30.06.1961;4482
30.06.1970;5341
30.06.1987;5873
30.06.1997;7479
30.06.2005;7868
30.06.2015;7638
31.12.2018;7602
EOF