File:Einwohnerentwicklung von Oberhausen.svg

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file(SVG file, nominally 800 × 400 pixels, file size: 77 KB)

Captions

Captions

Add a one-line explanation of what this file represents

Summary[edit]

Description
Deutsch: Einwohnerentwicklung von Oberhausen
Source Own work
Author Summer ... hier! (talk)

Licensing[edit]

I, the copyright holder of this work, hereby publish it under the following license:
Creative Commons CC-Zero This file is made available under the Creative Commons CC0 1.0 Universal Public Domain Dedication.
The person who associated a work with this deed has dedicated the work to the public domain by waiving all of their rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.

Gnuplot script to generate this plot[edit]

Lissajous small 
This W3C-unspecified plot was created with Gnuplot.
W3C red 
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_Oberhausen.dat'
my_xrange_min         = '01.01.1860'
my_xrange_max         = '31.12.2019'
my_xtics_years        = '25'
my_mxtics             = '5'
my_yrange_min         = '0'    # bei '-1' wird der erste 
                               # Achsenstrich unter Null berechnet
my_yrange_max         = '*'    # hier ist '*' erlaubt und sinnvoll
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 WorldWar1 Schriftzugs
WW2                   = '0.90' # horiz. Pos. des WorldWar2 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 der Legende
set key at graph 0.05,0.95 # Ĺegende weit links-oben (Pos. bezogen auf Graph)
set key left top           # Punkt der Legendenbox an dem sie ausgerichtet wird
set key nobox              # Legende o. Rahmen (zu Testzwecken box setzen!)
set key noopaque           # Transparenz 
set key width -6           # Breite schmaler
set key samplen 2          # Breite der Linenbeispiele 
unset key                  # alle Werte für Legende wieder aufgehoben!!!
                           # das 'unset key' einfach auskommentieren um eine 
                           # vernünftige Legende auszugeben 
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.1000', (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
# Abfrage nach Betriebssystem und Aufruf spezifischer Befehle für 
# Dezimal- und Tausenderseparator für die y-Achse
# Bei dem Betriebssystemaufruf verwenden wir den Befehl 'echo' weil den
# jedes Betriebssysem kennt und so keinen gnuplot-Fehler erzeugt
if ("Linux" eq "Linux") {
  # Einstellungen für Linux
  print "Wir setzten Dezimal- und Tausenderseparator nach Linux Art"
  set decimalsign locale "de_DE.utf8"
  set format y "%'.0f"     
} else {
  # Einstellungen für Windows
  print "Wir setzten Dezimal- und Tausenderseparator nach Windows Art"
  set decimalsign locale; 
  set decimalsign ",";
  set format y "%'g"
}
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_Oberhausen.gpl > Einwohnerentwicklung_von_Oberhausen.svg) 
# Windowsbenutzer, die mit Pipes nicht umgehen könnten, sollten das Kommentar-
# zeichen vor dem  'set output ...' folgenden Befehl entfernen. 
  set output 'Einwohnerentwicklung_von_Oberhausen.svg'
  set encoding utf8 # falls bei Windows iso_8859_1 stellen wir es um
  set term svg size 800,400 font "Arial,16"
# Die Parameter von 'set term' sind so gewählt, das man in Wikipedia bei einer 
# Einbindung [[Datei:Einwohnerentwicklung_von_Oberhausen.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[edit]

Die folgenden Daten bitte in eine Textdatei unter dem Namen "Einwohnerentwicklung_von_Oberhausen.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/wiki/Einwohnerentwicklung_von_Oberhausen#Einwohnerentwicklung
#
01.02.1862;5590
31.12.1865;7210
01.12.1867;9240
31.12.1870;10563
01.12.1871;12805
01.12.1875;15476
01.12.1880;16680
01.12.1885;20371
01.12.1890;25249
02.12.1895;30154
01.12.1900;42148
01.12.1905;52166
31.12.1909;61812
01.12.1910;89900
#
31.12.1915;103144
01.12.1916;97015
05.12.1917;99874
08.10.1919;98677
31.12.1919;101724
31.12.1920;104408
31.12.1921;108048
31.12.1922;110103
31.12.1923;106569
31.12.1924;105654
16.06.1925;105121
31.12.1925;106370
31.12.1926;107866
31.12.1927;109369
#
31.12.1928;110230
31.12.1929;193868
31.12.1930;193837
31.12.1931;194391
31.12.1932;195119
16.06.1933;192345
31.12.1934;194782
31.12.1935;195267
31.12.1936;195286
31.12.1937;195370
31.12.1938;194900
17.05.1939;191842
31.12.1939;196400
31.12.1940;194300 
#
#
#
#
30.04.1945;100000
31.12.1945;168206
29.10.1946;174117
31.12.1947;186797
31.12.1948;193100
13.09.1950;202808
31.12.1951;211437
31.12.1952;216931
31.12.1953;226800
25.09.1956;241570
06.06.1961;256773
31.12.1961;258529
31.12.1962;260041
31.12.1963;260570
#
31.12.1964;259945
31.12.1965;259810
31.12.1966;256752
31.12.1967;254339
31.12.1968;250575
31.12.1969;249078
27.05.1970;246736
31.12.1970;245840
31.12.1971;244946
31.12.1972;242521
31.12.1973;240702
31.12.1974;239309
31.12.1975;237147
31.12.1976;234580
#
31.12.1977;232558
31.12.1978;231023
31.12.1979;229631
31.12.1980;228947
31.12.1981;228278
31.12.1982;227364
31.12.1983;225139
31.12.1984;223265
31.12.1985;222664
31.12.1986;221542
25.05.1987;220286
31.12.1987;220082
31.12.1988;221017
31.12.1989;222419 
#
#
#
#
31.12.1990;223840
31.12.1991;224559
31.12.1992;226025
31.12.1993;226254
31.12.1994;225443
31.12.1995;224397
31.12.1996;223884
31.12.1997;223637
31.12.1998;222456
#
31.12.1999;222349
31.12.2000;222151
31.12.2001;221619
31.12.2002;220928
31.12.2003;220033
31.12.2004;219309
31.12.2005;218898
31.12.2006;218181
31.12.2007;217108
#
31.12.2008;215670
31.12.2009;214024
31.12.2010;212945
31.12.2011;212568
31.12.2012;210005
31.12.2013;209097
31.12.2014;209292
31.12.2015;210934
31.12.2016;211382
31.12.2017;211422
31.12.2018;210829
31.12.2019;210764
# EOF

File history

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

Date/TimeThumbnailDimensionsUserComment
current18:51, 28 June 2020Thumbnail for version as of 18:51, 28 June 2020800 × 400 (77 KB)Summer ... hier! (talk | contribs)Update mit Werte 2019
23:18, 9 August 2019Thumbnail for version as of 23:18, 9 August 2019800 × 400 (76 KB)Summer ... hier! (talk | contribs)+Werte 2017/18
17:03, 23 April 2018Thumbnail for version as of 17:03, 23 April 2018800 × 400 (75 KB)Summer ... hier! (talk | contribs)+Wert 2016
12:05, 2 February 2018Thumbnail for version as of 12:05, 2 February 2018800 × 400 (37 KB)Summer ... hier! (talk | contribs){{Information |Description = {{de|Einwohnerentwicklung von Oberhausen}} |Source = {{own}} |Author = ~~~~ |Date = }} == {{int:license-header}} == {{self|Cc-zero}} == Gnuplot script to generate this plot == {{gnuplot}}{{Va...

There are no pages that use this file.

File usage on other wikis

The following other wikis use this file:

Metadata