File:Einwohnerentwicklung von Metzingen.svg

Aus Wikimedia Commons, dem freien Medienarchiv
Zur Navigation springen Zur Suche springen

Originaldatei (SVG-Datei, Basisgröße: 800 × 400 Pixel, Dateigröße: 54 KB)

Bildtexte

Kurzbeschreibungen

Ergänze eine einzeilige Erklärung, was diese Datei darstellt.

Beschreibung

[Bearbeiten]
Beschreibung
Deutsch: Einwohnerentwicklung von Metzingen
Quelle Eigenes Werk
Urheber Summer ... hier! 19:38, 19 December 2017 (UTC)
SVG‑Erstellung
InfoField
 
Der SVG-Code ist valide.
 
Dieser Plot wurde mit Gnuplot erstellt.
 
 Dieser Plot verwendet Text-Einbettung, die mit einem Texteditor leicht übersetzbar ist.

Lizenz

[Bearbeiten]
Ich, der Urheber dieses Werkes, veröffentliche es unter der folgenden Lizenz:
Creative Commons CC-Zero 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.

Gnuplot script to generate this plot

[Bearbeiten]
#!/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_Metzingen.dat'
my_xrange_min         = '01.01.1375'
my_xrange_max         = '31.12.2017'
my_xtics_years        = '100'
my_mxtics             = '5'
my_yrange_min         = '0'
my_yrange_max         = '*'    # Nur hier ist '*' erlaubt und sinnvoll
my_ytics              = '5000'
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.9' # horiz. Pos. des WW1 Schriftzugs
WW2                   = '0.9' # horiz. Pos. des WW2 Schriftzugs
DDR                   = '0.0' # 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:              ', 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 center top       # Legende links oben (mit rel. Angaben)
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 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
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 (Beispiel)
# 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_Metzingen.gpl > Einwohnerentwicklung_von_Metzingen.svg) 
# Windowsbenutzer, die mit Pipes nicht umgehen könnten, sollten das Kommentar-
# zeichen vor dem  'set output ...' folgenden Befehl entfernen. 
# set output 'Einwohnerentwicklung_von_Metzingen.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_Metzingen.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)


### 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

[Bearbeiten]

Die folgenden Daten bitte in eine Textdatei unter dem Namen "Einwohnerentwicklung_von_Metzingen.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/Metzingen#Einwohnerentwicklung
#
30.06.1383 ; 150
30.06.1470 ; 1230
30.06.1598 ; 2030
30.06.1661 ; 1196
30.06.1763 ; 2214
30.06.1803 ; 3146
30.06.1849 ; 4371
30.06.1861 ; 4318
01.12.1871 ; 4706
01.12.1880 ; 5360
01.12.1900 ; 5460
01.12.1910 ; 6337
16.06.1925 ; 6587
16.06.1933 ; 7041
17.05.1939 ; 7752
#
#
13.09.1950 ; 9660
06.06.1961 ; 11819
27.05.1970 ; 14475
31.12.1975 ; 19224
31.12.1980 ; 19473
25.05.1987 ; 19468
31.12.1990 ; 20754
31.12.1995 ; 21447
31.12.2000 ; 21679
31.12.2005 ; 21983
31.12.2010 ; 22035
31.12.2015 ; 21612
31.12.2016 ; 21721
31.12.2017 ; 21845
# EOF

Dateiversionen

Klicke auf einen Zeitpunkt, um diese Version zu laden.

Version vomVorschaubildMaßeBenutzerKommentar
aktuell08:34, 8. Jun. 2019Vorschaubild der Version vom 08:34, 8. Jun. 2019800 × 400 (54 KB)Summer ... hier! (Diskussion | Beiträge)+Werte 2016/17
15:47, 5. Mär. 2018Vorschaubild der Version vom 15:47, 5. Mär. 2018800 × 400 (89 KB)Summer ... hier! (Diskussion | Beiträge)+Marker
19:38, 19. Dez. 2017Vorschaubild der Version vom 19:38, 19. Dez. 2017800 × 400 (31 KB)Summer ... hier! (Diskussion | Beiträge){{Information |Description = {{de|Einwohnerentwicklung von Metzingen}} |Source = {{own}} |Author = ~~~~ |Date = }} == {{int:license-header}} == {{self|Cc-zero}} == Gnuplot script to generate this plot == {{gnuplot}}{{Val...

Die folgende Seite verwendet diese Datei:

Globale Dateiverwendung

Die nachfolgenden anderen Wikis verwenden diese Datei:

Metadaten