Loading
  • 21 Aug, 2019

  • By, Wikipedia

File:Einwohnerentwicklung Von Osnabrück.svg

Gnuplot script to generate this plot

 
This W3C-unspecified plot was created with Gnuplot.
 
W3C-validity not checked.
#!/usr/bin/gnuplot
# gnuplot 


### Variablen - die wichtigsten Paramter dieser Grafik:
# (in der Regel wird es reichen für eine neue Grafik diese Werte zu ändern)
my_data               = 'Einwohnerentwicklung_von_Osnabrück.dat'
my_xrange_min         = '01.01.760'
my_xrange_max         = '31.12.2018'
my_xtics_years        = '100'
my_mxtics             = '5'
my_yrange_min         = '-1'    # bei '-1' wird der erste 
                               # Achenstrich unter Null berechnet
my_yrange_max         = '170000'
my_ytics              = '50000'
my_ymtics             = '5'
ist_gemeinde          = '1'    # 1 für ja, 0 für nein
                               # Falls ja, werden Marker für Grossstadt 
                               # und Mio.Stadt gesetzt
WW1                   = '0.90' # horiz. Pos. des WW1 Schriftzugs
WW2                   = '0.90' # horiz. Pos. des WW2 Schriftzugs
DDR                   = '0.00' # horiz. Pos. des Deut.Einheit-Schriftzugs 
                               # (0 entspr. keiner Ausgabe)

### Allgemeines zu den Eingabedaten
set timefmt "%d.%m.%Y"          # Zeitangaben in TT.MM.YYYY
set datafile separator ";"      # Spaltenseparator 
set datafile commentschars "#"  # Kommentarzeichen 
  stats my_data  u (strptime("%d.%m.%Y",strcol(1))) nooutput 
  my_diff = (STATS_max - STATS_min) / (60*60*24*365.25)
  print '     -----Stats-(Timestamp)----------------------'
  print '     Erster Wert der Datendatei:  ', strftime("%d.%m.%Y", STATS_min)
  print '     Letzter Wert der Datendatei: ', strftime("%d.%m.%Y", STATS_max)
  print '     Diff in Jahren:              ', sprintf("%.2f", my_diff)
  print '     --------------------------------------------'
  # Anmerk.: die ausgegebenen Timestamps können in einer Shell bequem mit 
  # 'date -d @[Wert]' in humanleserliches Format gewandelt werden

### Allgemeines zur Ausgabe
set key vertical maxrows 6 # Max Anzahl Zeilen
set key at graph 0.05,0.95 # Ĺegende weit links-oben (mit Angaben bez. auf Graph)
set key left top           # Punkt der Legendenbox an dem sie ausgerichtet wird
set key nobox              # kein Rahmen (zu Testzwecken box setzen!)
set key noopaque           # Transparenz 
set key width -6           # Breite schmaler
set key samplen 2          # Breite der Linenbeispiele 
unset key                  # direkt vorher gesetzte Werte aufgehoben; ggf.
                           # auskommentieren, dann wird die Legende gesetzt! 
set style data lines       # wird bei 'plot' überschrieben 
set style fill transparent solid 0.4 # wird ebenfalls bei 'plot' überschrieben
set border 3               # Rahmen unten (Bit 1) und links (+ Bit 2) 
set grid                   # Gitterlinien verwenden
# Gitterlinien per Hand setzen falls gewünscht 
set style line 1 linetype rgb '#4F4F4F' linewidth 0.5 dashtype 2 # Def. Major-grid
set style line 2 linetype rgb '#9F9F9F' linewidth 0.5 dashtype 3 # def. Minor-grid
set grid  xtics mxtics     # eventuell noxtics und nomxtics
set grid  ytics mytics     # eventuell noytics und nomytics
set grid  back             # Gitter im Hintergrund
set grid  linestyle 1, linestyle 2 # Setzen des linestyle für Major u. Minor 
#show grid                  # Kontrollausgabe auf der Konsole


### Farben - nummerische Equavalente zu Namen nach: 
# https://www2.uni-hamburg.de/Wiss/FB/15/Sustainability/schneider/gnuplot/colors.htm
# Die beiden Ziffen am Ende der Variablen geben  opacity/transparenz an
#
my_darkred_00       = '#008B0000';     my_darkred_20       = '#208B0000';
my_darkred_40       = '#408B0000';     my_darkred_60       = '#608B0000';
my_darkred_80       = '#808B0000';     my_darkred_a0       = '#a08B0000';
my_darkred_c0       = '#c08B0000';     my_darkred_e0       = '#e08B0000';
#
my_darkgreen_00     = '#00006400';     my_darkgreen_20     = '#20006400';
my_darkgreen_40     = '#40006400';     my_darkgreen_60     = '#60006400';
my_darkgreen_80     = '#80006400';     my_darkgreen_a0     = '#a0006400';
my_darkgreen_c0     = '#c0006400';     my_darkgreen_e0     = '#e0006400';
#
my_darkblue_00      = '#0000008B';     my_darkblue_20      = '#2000008B';
my_darkblue_40      = '#4000008B';     my_darkblue_60      = '#6000008B';
my_darkblue_80      = '#8000008B';     my_darkblue_a0      = '#a000008B';
my_darkblue_c0      = '#c000008B';     my_darkblue_e0      = '#e000008B';
#
my_darkmagenta_00   = '#008B008B';     my_darkmagenta_20   = '#208B008B';
my_darkmagenta_40   = '#408B008B';     my_darkmagenta_60   = '#608B008B';
my_darkmagenta_80   = '#808B008B';     my_darkmagenta_a0   = '#a08B008B';
my_darkmagenta_c0   = '#c08B008B';     my_darkmagenta_e0   = '#e08B008B';
# 
my_darkorange_00    = '#00FF8C00';     my_darkorange_20    = '#20FF8C00';
my_darkorange_40    = '#40FF8C00';     my_darkorange_60    = '#60FF8C00';
my_darkorange_80    = '#80FF8C00';     my_darkorange_a0    = '#a0FF8C00';
my_darkorange_c0    = '#c0FF8C00';     my_darkorange_e0    = '#e0FF8C00';
#
my_darkturquoise_00 = '#0000CED1';     my_darkturquoise_20 = '#2000CED1';
my_darkturquoise_40 = '#4000CED1';     my_darkturquoise_60 = '#6000CED1';
my_darkturquoise_80 = '#8000CED1';     my_darkturquoise_a0 = '#a000CED1';
my_darkturquoise_c0 = '#c000CED1';     my_darkturquoise_e0 = '#e000CED1'; 
#
my_black_00         = '#00000000';     my_black_20         = '#20000000';
my_black_40         = '#40000000';     my_black_60         = '#60000000';
my_black_80         = '#80000000';     my_black_a0         = '#a0000000';
my_black_c0         = '#c0000000';     my_black_e0         = '#e0000000';


### 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 [ my_xrange_min : my_xrange_max]
                           # Wertebreich der X-Achse
set xtics '01.01.700', (60*60*24*365.25) * my_xtics_years
                           # xtics in Sekunden 
                           # der Beginn (Wert vor dem Komma) der X-Einteilung 
                           # kann außerhalb xrange liegen
set xtics offset  0, 0.5   # Beschriftung näher an die X-Achse
set mxtics my_mxtics       # Skalenstriche 
set xtics nomirror         # Nur unten Skalieren
set format x '%3Y'         # Beschr.format JJJJ (bei 3 Stellen o. führend 0)
set xtics  out             # Skal. aussen damit sie nicht von Grafik 
                           # überschr. wird


# Bereiche/Format/etc Y-Achse
set ylabel 'Einwohnerzahl' offset 2 # Abstand Achse/Label 
# Untere Begrenzung des Bereichs der Y-Achse
# Falls my_yrange_min wird der erste Achsenstrich unterhalb der
# Nulllinie berechnen falls my_yrange gleich -1
if (my_yrange_min eq '-1' ) {
  my_yrange_min = - my_ytics / my_ymtics
  # für den Fall Nullline etwas fetter
  set arrow from my_xrange_min, '0' to     my_xrange_max, '0' nohead lc rgb '#C0000000' back
}
set yrange [ my_yrange_min : ]
# Obere  Begrenzung des Bereichs der Y-Achse
# wir Testen ob der Wert der Var.  my_yrange_max ein '*' ist und reagieren 
# entsprechend weil der '*' sich nicht direkt via Var. setzen lässt. 
if ( ( my_yrange_max eq '*' )) set yrange [ : *             ]
if (!( my_yrange_max eq '*' )) set yrange [ : my_yrange_max ]
set ytics my_ytics         # Anzahl der kleinen Teilstriche
set ytics offset 0.5       # Schrift etwas nach rechts
set ytics nomirror         # oben keine Teilstriche
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 my_ymtics       # Unterskalierung 
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 back
  set label "Dreißigjähriger Krieg" at '30.06.1633', graph 0.8 rotate by +60 center front
# == Siebenjähriger Krieg
# set obj rect from '29.08.1756', graph 0 to '21.09.1762' , graph 1 back
# set label "Siebenjähriger Krieg"  at '30.06.1759', graph 0.8 rotate by +60 center front
# == Hamburger Franzosenzeit
# set obj rect from '30.06.1806', graph 0 to '30.06.1814' , graph 1 back
# set label "H. Franzosenzeit"      at '01.01.1810', graph 0.3 rotate by +60 center front
# == Befreiungskriege
# set obj rect from '26.02.1813', graph 0 to '20.11.1815' , graph 1 back
# set label "Befreiungskriege"      at '30.06.1814', graph 0.8 rotate by +60 center front
# == 1. Weltkrieg
  set obj rect from '28.07.1914', graph 0 to '11.11.1918' , graph 1 back
  set label "1. Weltkrieg"          at '30.06.1916', graph WW1 rotate by +60 center front
# == 2. Weltkrieg
  set obj rect from '01.09.1939', graph 0 to '04.05.1945' , graph 1 back
  set label "2. Weltkrieg"          at '30.06.1942', graph WW2 rotate by +60 center front
# == Dädärä
if (DDR > 0) {
  set obj rect from '07.10.1949', graph 0 to '03.10.1990' , graph 1 back
  set label "Deut. Teilung"         at '01.01.1970', graph DDR rotate by +60 center front
} 


### Markierung für Groß- und Millionenstadtgrenze 
# wenn oben die Variable 'gemeinde' auf '1' gesetzt wurde setzen wir Maker
if (ist_gemeinde eq '1') { 
  # je einen Marker (arrow) für 100.000 und 1.000.000
  set arrow from my_xrange_min,  '100000' to my_xrange_max,  '100000' nohead lc rgb '#B0FF0000' back
  set arrow from my_xrange_min, '1000000' to my_xrange_max, '1000000' nohead lc rgb '#B0FF0000' back
}  


### Einzelwerte (Beispiele)
# set label 1 'Bsp. Text 1' at '25.05.1987',  5000 point pointtype 3 pointsize 0.8
# set label 2 'Bsp. Text 2' at '09.05.2011', 10000 point pointtype 3 pointsize 0.8


### Außenränder (keine Angabe entspricht Automatik)
# keine Angabe hinter Xmargin entspr auto 
# zur Positionierung siehe 'Coordinates' in: 
# http://gnuplot.sourceforge.net/docs_4.2/node49.html#448
set lmargin 
set rmargin at screen 0.990
set bmargin at screen 0.175
set tmargin at screen 0.960
# grauer Hintergrund für Testzwecke
# set object rectangle from screen 0,0 to screen 1,1 fillcolor rgb my_black_e0 behind


### Dateiausgabe definieren 
# Ausgabeformat: Wir erzeugen SVG
# Die Ausgabedaten leiten wir bei UNIX in eine Pipe und sind so beim Namen der
# Ausgabedatei flexibel (Aufruf: Einwohnerentwicklung_von_Osnabrück.gpl > Einwohnerentwicklung_von_Osnabrück.svg) 
# Windowsbenutzer, die mit Pipes nicht umgehen könnten, sollten das Kommentar-
# zeichen vor dem  'set output ...' folgenden Befehl entfernen. 
# set output 'Einwohnerentwicklung_von_Osnabrück.svg' 
  set term svg size 1200,400 font "Arial,16"
# Die Parameter von 'set term' sind so gewählt, das man in Wikipedia bei einer 
# Einbindung [[Datei:Einwohnerentwicklung_von_Osnabrück.svg|mini|400px|Text]] noch Schrift/Details 
# erkennen kann. 


### Log10 Skalierung für Y-Achse wählen 
# Für Formatparam siehe http://gnuplot.sourceforge.net/docs_4.2/node184.html
# Wert für ytics hier mit 10 Überschreiben damit die Mantisse wegfallen kann. 
# Ansonsten müsste sie wie in 'set format y "%.1l*10^{%L}"; set ytics 5' angegeben 
# werden was ungerade Werte ergibt. 
# xrange muss größer Null beginnen. Kann oben mit my_yrange_min auf 10, 100, 1000 ... 
# gesetzt werden oder hier auskommentieren. 
#  set logscale y 10; set format y "  10^{%L}"; set ytics 10; set mytics 10; 
#  set lmargin 5 # ev. bei 'Schwestergrafik' gleichen fixen Wert setzen.
#  set yrange [ 100 : 1000000 ] # yrange manuell Anpassen!!!


### Abkürzungen hinter dem Plot-Befehl:
#       u : using
#       w : with
#      lc : linecolor
#      lt : linetype 
#      lw : linewidth
#      pt : pointtype  
#      ps : pointsize
#      lp : linespoints
#       p : points
#       t : title
#     not : notitle
# filledc : filledcurves (Bsp.: File:Einwohnerentwicklung von Wanne-Eickel.svg)
#     rgb : RedGreenBlue
#      ax ; axes (bei der Plotanweisung meist x1y1)
#      dt ; dashtype (Wert 1 entspricht normale durchgezogene Linie)


### Daten per Here-Document
# (siehe Abschntt 'Inline data and datablocks' in
# http://www.gnuplot.info/docs_5.2/Gnuplot_5.2.pdf )
#
$my_HD_1 << EndOfData_1
# bei 'plot' mit '$my_HD_1 use 1:2 with ...' einbinden
...
EndOfData_1


### Plot
# Jede Kurve wird zweimal gezeichnet. Beim ersten mal mit etwas Transparenz
# damit es heller wird. Beim zweiten mal werden die Punkt dunkel
# nachgezeichnet. Dadurch sollte der Betrachter besser erkennen können, wo
# Messpunkte fehlen. 
#
# Erzeugen der Ausgabe 
plot \
  my_data  u 1:2 ax x1y1 w lp lc rgb my_darkblue_40  lt 1 lw 1.5 pt 7 ps 0.22   t 'Einw. Entw.',\
  my_data  u 1:2 ax x1y1 w  p lc rgb my_darkblue_00  lt 1 lw 1.5 pt 7 ps 0.22 not              ,\
# $my_HD_1 u 1:2 ax x1y1 w lp lc rgb my_darkred_40   lt 1 lw 1.5 pt 7 ps 0.22   t 'Einw. Entw.',\
# $my_HD_1 u 1:2 ax x1y1 w  p lc rgb my_darkred_00   lt 1 lw 1.5 pt 7 ps 0.22 not              ,\

Daten

Die folgenden Daten bitte in eine Textdatei unter dem Namen "Einwohnerentwicklung_von_Osnabrück.dat" abspeichern und ins gleiche Verzeichnis wie das GnuPlot-Script ablegen.

Update der Daten und Überschreiben der Grafik ausdrücklich erwünscht (bei Problemen beim Erstellen einer neuen Grafik unter de:Benutzer Diskussion:Summer ... hier! oder de:Wikipedia:Grafikwerkstatt nachfragen).

Vor Änderungen der Struktur dieses Abschnitts bitte beachten, das die Daten zur Wartung anderer Grafiken benutzt werden. Dies sind Dateien, die möglicherweise die Daten dieses Abschnitts verwenden.

#
# Quelle: 
# https://de.wikipedia.org/key/Einwohnerentwicklung_von_Osnabr%C3%BCck
#
#
#
30.06.780  ; 800
30.06.1171 ; 3500
30.06.1425 ; 4800
30.06.1500 ; 6000
30.06.1570 ; 7500
30.06.1575 ; 2000
30.06.1646 ; 5500
30.06.1771 ; 5923
30.06.1780 ; 6651
30.06.1800 ; 8564
30.06.1812 ; 9229
30.06.1817 ; 10030
30.06.1823 ; 10915
01.07.1830 ; 11321
01.07.1836 ; 11730
01.07.1842 ; 11718
01.07.1848 ; 12146
03.12.1852 ; 13718
#
03.12.1855 ; 14855
03.12.1861 ; 16180
03.12.1864 ; 18033
03.12.1867 ; 19579
01.12.1871 ; 23308
01.12.1875 ; 29860
01.12.1880 ; 32819
01.12.1885 ; 35899
01.12.1890 ; 39929
02.12.1895 ; 45137
01.12.1900 ; 51573
01.12.1905 ; 59580
01.12.1910 ; 65957
31.12.1913 ; 69268
31.12.1914 ; 80048
01.12.1916 ; 79926
05.12.1917 ; 76413
08.10.1919 ; 85017
#
31.12.1920 ; 85017
16.06.1925 ; 88911
31.12.1930 ; 95160
16.06.1933 ; 94277
31.12.1933 ; 94586
31.12.1934 ; 95698
31.12.1935 ; 95919
31.12.1936 ; 96741
31.12.1937 ; 97853
31.12.1938 ; 98675
17.05.1939 ; 99070
31.12.1939 ; 100247
31.12.1940 ; 105270
31.12.1941 ; 104316
31.12.1942 ; 104613
31.12.1943 ; 105569
31.12.1944 ; 105745
#
#
#
#
#
31.12.1945 ; 81828
29.10.1946 ; 88663
31.12.1946 ; 89260
31.12.1947 ; 94289
31.12.1948 ; 101062
31.12.1949 ; 107395
13.09.1950 ; 109538
31.12.1950 ; 112786
31.12.1951 ; 117147
31.12.1952 ; 118886
31.12.1953 ; 120377
#
31.12.1954 ; 123226
31.12.1955 ; 125758
25.09.1956 ; 127658
31.12.1956 ; 129361
31.12.1957 ; 131743
31.12.1958 ; 133743
31.12.1959 ; 135542
31.12.1960 ; 136075
06.06.1961 ; 138658
31.12.1961 ; 137772
31.12.1962 ; 141062
#
31.12.1963 ; 142383
31.12.1964 ; 142821
31.12.1965 ; 143101
31.12.1966 ; 142277
31.12.1967 ; 141551
31.12.1968 ; 141290
31.12.1969 ; 142764
27.05.1970 ; 143905
31.12.1970 ; 148102
#
#
#
#
#
31.12.1971 ; 143484
31.12.1972 ; 164305
31.12.1973 ; 164172
31.12.1974 ; 163674
31.12.1975 ; 161671
31.12.1976 ; 160242
31.12.1977 ; 159492
31.12.1978 ; 159055
31.12.1979 ; 158150
31.12.1980 ; 157367
31.12.1981 ; 157203
31.12.1982 ; 156558
31.12.1983 ; 155873
31.12.1984 ; 153587
31.12.1985 ; 153202
31.12.1986 ; 153776
#
25.05.1987 ; 150807
31.12.1987 ; 150807
31.12.1988 ; 154594
31.12.1989 ; 161317
31.12.1990 ; 163168
31.12.1991 ; 165143
31.12.1992 ; 166837
31.12.1993 ; 168078
31.12.1994 ; 168050
31.12.1995 ; 168618
31.12.1996 ; 167326
31.12.1997 ; 166653
31.12.1998 ; 165283
31.12.1999 ; 164539
31.12.2000 ; 164101
31.12.2001 ; 164195
#
31.12.2002 ; 164561
31.12.2003 ; 165517
31.12.2004 ; 164489
31.12.2005 ; 163814
31.12.2006 ; 163020
31.12.2007 ; 162870
31.12.2008 ; 163286
31.12.2009 ; 163514
31.12.2010 ; 164119
31.12.2011 ; 154513
31.12.2013 ; 156315
31.12.2014 ; 156897
31.12.2015 ; 162403
31.12.2016 ; 164070
31.12.2017 ; 164374
31.12.2018 ; 164748
# EOF

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current09:48, 11 October 2019Thumbnail for version as of 09:48, 11 October 20191,200 × 400 (95 KB)Summer ... hier!+Wert 2018
13:24, 9 November 2018Thumbnail for version as of 13:24, 9 November 20181,200 × 400 (106 KB)Summer ... hier!+Wert 2017; Breite auf 1200px
19:51, 2 May 2018Thumbnail for version as of 19:51, 2 May 2018800 × 400 (80 KB)Summer ... hier!Werte 2014, 2015 und 2016 korrigiert. Siehe https://de.wikipedia.org/w/index.php?title=Einwohnerentwicklung_von_Osnabr%C3%BCck&type=revision&diff=176388516&oldid=174268357
00:12, 22 February 2018Thumbnail for version as of 00:12, 22 February 2018800 × 400 (51 KB)Summer ... hier!{{Information |Description = {{de|Einwohnerentwicklung von Osnabrück}} |Source = {{own}} |Author = ~~~~ |Date = }} == {{int:license-header}} == {{self|Cc-zero}} == Gnuplot script to generate this plot == {{gnuplot}}{{ValidSVG}}<!--{{Created with Gnuplot | v }}--> <source lang="gnuplot"> #!/usr/bin/gnuplot # gnuplot # Variablen - die wichtigsten Paramter dieser Grafik: # (in der Regel wird es reichen für eine neue Grafik diese Werte zu ändern) my_data = 'Einwohnerentwicklung_von_Osnabrück.dat' my_xrange_min = '30.06.780' my_xrange_max = '31.12.2016' my_xtics_years = '200' my_mxtics = '5' my_yrange_min = '0' my_yrange_max = '*' # Nur hier ist '*' erlaubt und sinnvoll my_ytics = '25000' my_ymtics = '5' # Allgemeines zu den Eingabedaten set timefmt "%d.%m.%Y" # Zeitangaben in TT.MM.YYYY set datafile separator ";" # Spaltenseparator # Allgemeines zur A...

The following page uses this file:

Global file usage

The following other wikis use this file:

Metadata