Datei:Einwohnerentwicklung von Duisburg.svg
![Datei:Einwohnerentwicklung von Duisburg.svg](http://upload.wikimedia.org/wikipedia/commons/thumb/2/21/Einwohnerentwicklung_von_Duisburg.svg/800px-Einwohnerentwicklung_von_Duisburg.svg.png)
Originaldatei (SVG-Datei, Basisgröße: 800 × 400 Pixel, Dateigröße: 85 KB)
Diese Datei und die Informationen unter dem roten Trennstrich werden aus dem zentralen Medienarchiv Wikimedia Commons eingebunden.
Inhaltsverzeichnis
Beschreibung
BeschreibungEinwohnerentwicklung von Duisburg.svg |
Deutsch: Einwohnerentwicklung von Duisburg |
Quelle | Eigenes Werk |
Urheber | Summer ... hier! (Diskussion) 11:07, 25 January 2018 (UTC) |
Lizenz
![]() ![]() |
Diese Datei wird unter der Creative-Commons-Lizenz „CC0 1.0 Verzicht auf das Copyright“ zur Verfügung gestellt. |
Die Person, die das Werk mit diesem Dokument verbunden hat, übergibt dieses weltweit der Gemeinfreiheit, indem sie alle Urheberrechte und damit verbundenen weiteren Rechte – im Rahmen der jeweils geltenden gesetzlichen Bestimmungen – aufgibt. Das Werk kann – selbst für kommerzielle Zwecke – kopiert, modifiziert und weiterverteilt werden, ohne hierfür um Erlaubnis bitten zu müssen.
http://creativecommons.org/publicdomain/zero/1.0/deed.enCC0Creative Commons Zero, Public Domain Dedicationfalsefalse |
Gnuplot script to generate this plot
![](https://upload.wikimedia.org/wikipedia/commons/thumb/0/01/Gnuplot_val.svg/21px-Gnuplot_val.svg.png)
#!/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_Duisburg.dat'
my_xrange_min = '01.01.1710'
my_xrange_max = '31.12.2018'
my_xtics_years = '50'
my_mxtics = '5'
my_yrange_min = '-1' # bei '-1' wird der erste
# Achenstrich unter Null berechnet
my_yrange_max = '*' # hier ist '*' erlaubt und sinnvoll
my_ytics = '100000'
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 humanleseriches 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.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
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_Duisburg.gpl > Einwohnerentwicklung_von_Duisburg.svg)
# Windowsbenutzer, die mit Pipes nicht umgehen könnten, sollten das Kommentar-
# zeichen vor dem 'set output ...' folgenden Befehl entfernen.
# set output 'Einwohnerentwicklung_von_Duisburg.svg'
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_Duisburg.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_Duisburg.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 Benutzer Diskussion:Summer ... hier!11 oder Wikipedia:Grafikwerkstatt11 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_Duisburg
#
30.06.1714 ; 2983
30.06.1722 ; 2935
30.06.1740 ; 2793
30.06.1756 ; 2874
30.06.1763 ; 2678
30.06.1767 ; 3227
30.06.1770 ; 3134
30.06.1777 ; 3342
30.06.1784 ; 3531
30.06.1787 ; 3657
30.06.1798 ; 4530
30.06.1810 ; 5195
01.12.1816 ; 4508
01.12.1818 ; 5364
01.12.1820 ; 5936
#
01.12.1825 ; 6408
01.12.1828 ; 7058
01.12.1831 ; 7005
03.12.1840 ; 7021
03.12.1843 ; 7506
03.12.1846 ; 8543
03.12.1849 ; 8948
03.12.1852 ; 9579
03.12.1855 ; 11629
03.12.1858 ; 12674
03.12.1861 ; 13422
03.12.1864 ; 14368
03.12.1867 ; 25757
01.12.1871 ; 30533
01.12.1875 ; 36580
#
01.12.1880 ; 41249
01.12.1885 ; 47519
01.12.1890 ; 59285
02.12.1895 ; 70272
31.12.1896 ; 72460
31.12.1897 ; 74780
31.12.1898 ; 77090
31.12.1899 ; 87510
01.12.1900 ; 92729
31.12.1901 ; 93320
31.12.1902 ; 96620
31.12.1903 ; 100050
31.12.1904 ; 106770
30.09.1905 ; 110317
#
#
#
01.12.1905 ; 192346
31.12.1906 ; 200392
31.12.1907 ; 207819
31.12.1908 ; 215246
31.12.1909 ; 222673
01.12.1910 ; 229483
31.12.1911 ; 237129
31.12.1912 ; 245021
#
31.12.1913 ; 251750
01.12.1916 ; 225545
05.12.1917 ; 229584
08.10.1919 ; 244302
31.12.1919 ; 248225
31.12.1920 ; 254887
31.12.1921 ; 259314
31.12.1922 ; 260169
#
31.12.1923 ; 255677
31.12.1924 ; 255799
16.06.1925 ; 272252
31.12.1925 ; 272736
31.12.1926 ; 273492
31.12.1927 ; 276495
31.12.1928 ; 277671
#
#
31.12.1929 ; 441389
31.12.1930 ; 441158
31.12.1931 ; 441107
31.12.1932 ; 441139
16.06.1933 ; 440419
31.12.1933 ; 439483
31.12.1934 ; 442513
31.12.1935 ; 439627
31.12.1936 ; 440100
31.12.1937 ; 438861
31.12.1938 ; 436800
17.05.1939 ; 434646
31.12.1940 ; 431300
#
31.12.1945 ; 322301
29.10.1946 ; 356408
31.12.1947 ; 378289
13.09.1950 ; 410783
31.12.1951 ; 426853
31.12.1952 ; 437616
31.12.1953 ; 453311
25.09.1956 ; 476523
06.06.1961 ; 502993
31.12.1961 ; 504975
31.12.1962 ; 501616
31.12.1963 ; 496354
31.12.1964 ; 490374
#
31.12.1965 ; 484930
31.12.1966 ; 475858
31.12.1967 ; 467780
31.12.1968 ; 462572
31.12.1969 ; 458916
27.05.1970 ; 454839
31.12.1970 ; 454885
31.12.1971 ; 448791
31.12.1972 ; 442386
31.12.1973 ; 435281
31.12.1974 ; 428594
#
#
#
31.12.1975 ; 591635
31.12.1976 ; 581971
31.12.1977 ; 572101
31.12.1978 ; 563088
31.12.1979 ; 559066
31.12.1980 ; 558089
31.12.1981 ; 554377
31.12.1982 ; 546566
31.12.1983 ; 536402
31.12.1984 ; 522829
31.12.1985 ; 518260
31.12.1986 ; 514628
25.05.1987 ; 525378
31.12.1987 ; 524502
31.12.1988 ; 527447
31.12.1989 ; 532152
#
31.12.1990 ; 535447
31.12.1991 ; 537441
31.12.1992 ; 539094
31.12.1993 ; 536797
31.12.1994 ; 536106
31.12.1995 ; 535250
31.12.1996 ; 532701
31.12.1997 ; 529062
31.12.1998 ; 523311
31.12.1999 ; 519793
31.12.2000 ; 514915
31.12.2001 ; 512030
31.12.2002 ; 508664
31.12.2003 ; 506496
31.12.2004 ; 504403
31.12.2005 ; 501564
#
31.12.2006 ; 499111
31.12.2007 ; 496665
31.12.2008 ; 492870
31.12.2009 ; 491931
31.12.2010 ; 489599
09.05.2011 ; 488468
31.12.2011 ; 487470
31.12.2012 ; 486816
31.12.2013 ; 486855
31.12.2014 ; 485465
31.12.2015 ; 491231
31.12.2016 ; 499845
31.12.2017 ; 498110
31.12.2018 ; 498590
# EOF
Kurzbeschreibungen
In dieser Datei abgebildete Objekte
Motiv
image/svg+xml
Dateiversionen
Klicke auf einen Zeitpunkt, um diese Version zu laden.
Version vom | Vorschaubild | Maße | Benutzer | Kommentar | |
---|---|---|---|---|---|
aktuell | 02:04, 8. Sep. 2019 | ![]() | 800 × 400 (85 KB) | Summer ... hier! | +Wert 2017/18 |
02:22, 11. Mai 2018 | ![]() | 800 × 400 (84 KB) | Summer ... hier! | +Wert 2016 | |
13:07, 25. Jan. 2018 | ![]() | 800 × 400 (36 KB) | Summer ... hier! | {{Information |Description = {{de|Einwohnerentwicklung von Duisburg}} |Source = {{own}} |Author = ~~~~ |Date = }} == {{int:license-header}} == {{self|Cc-zero}} == Gnuplot script to generate this plot == {{gnuplot}}{{Vali... |
Dateiverwendung
Die folgende Seite verwendet diese Datei:
Metadaten
Diese Datei enthält weitere Informationen (beispielsweise Exif-Metadaten), die in der Regel von der Digitalkamera oder dem verwendeten Scanner stammen. Durch nachträgliche Bearbeitung der Originaldatei können einige Details verändert worden sein.
Kurztitel | Gnuplot |
---|---|
Bildtitel | Produced by GNUPLOT 5.0 patchlevel 3 |
Breite | 800 |
Höhe | 400 |