File:Einwohnerentwicklung von Duisburg.svg
![File:Einwohnerentwicklung von Duisburg.svg](https://upload.wikimedia.org/wikipedia/commons/thumb/2/21/Einwohnerentwicklung_von_Duisburg.svg/800px-Einwohnerentwicklung_von_Duisburg.svg.png?20190908000426)
Original file (SVG file, nominally 800 × 400 pixels, file size: 85 KB)
Captions
Captions
Summary
[edit]DescriptionEinwohnerentwicklung von Duisburg.svg |
Deutsch: Einwohnerentwicklung von Duisburg |
Source | Own work |
Author | Summer ... hier! (talk) 11:07, 25 January 2018 (UTC) |
Licensing
[edit]![]() ![]() |
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.
http://creativecommons.org/publicdomain/zero/1.0/deed.enCC0Creative Commons Zero, Public Domain Dedicationfalsefalse |
Gnuplot script to generate this plot
[edit]![](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
[edit]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 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_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
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 00:04, 8 September 2019 | ![]() | 800 × 400 (85 KB) | Summer ... hier! (talk | contribs) | +Wert 2017/18 |
00:22, 11 May 2018 | ![]() | 800 × 400 (84 KB) | Summer ... hier! (talk | contribs) | +Wert 2016 | |
11:07, 25 January 2018 | ![]() | 800 × 400 (36 KB) | Summer ... hier! (talk | contribs) | {{Information |Description = {{de|Einwohnerentwicklung von Duisburg}} |Source = {{own}} |Author = ~~~~ |Date = }} == {{int:license-header}} == {{self|Cc-zero}} == Gnuplot script to generate this plot == {{gnuplot}}{{Vali... |
You cannot overwrite this file.
File usage on Commons
There are no pages that use this file.
File usage on other wikis
The following other wikis use this file:
- Usage on de.wikipedia.org
Metadata
This file contains additional information such as Exif metadata which may have been added by the digital camera, scanner, or software program used to create or digitize it. If the file has been modified from its original state, some details such as the timestamp may not fully reflect those of the original file. The timestamp is only as accurate as the clock in the camera, and it may be completely wrong.
Short title | Gnuplot |
---|---|
Image title | Produced by GNUPLOT 5.0 patchlevel 3 |
Width | 800 |
Height | 400 |