Datei:Altersstruktur von Köln - Teilbereich.svg

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

Diese Datei und die Informationen unter dem roten Trennstrich werden aus dem zentralen Medienarchiv Wikimedia Commons eingebunden.

Zur Beschreibungsseite auf Commons


Beschreibung

Beschreibung
Deutsch: Grafik der Altersstruktur in Köln für Personen bis 14 Jahre und Personen ab 65 Jahre
Datum
Quelle Eigenes Werk
Urheber Makrameus

Erzeugt mit gnuplot nach der Vorlage File:Einwohnerentwicklung von Moers - ab 1871.svg
Mein Dank gilt Benutzer:Summer ... hier! der die Grundlagen für die gpl-Datei mit seinen Grafiken zur Einwohnerentwicklung (beispielsweise File:Einwohnerentwicklung von Moers.svg) gelegt hat.

Lizenz

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

 
Dieser W3C-unbestimmte Plot wurde mit Gnuplot erstellt.
 
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               = 'Altersstruktur_von_Koeln_-_Teilbereich.dat'
my_xrange_min         = '01.01.1990'
my_xrange_max         = '31.12.2019'
my_xtics_years        = '5'
my_mxtics             = '5'
my_yrange_min         = '100000'    # bei '-1' wird der erste 
                               # Achsenstrich unter Null berechnet
my_yrange_max         = '*'    # 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 
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
unset key                  # alle Werte für Legende aufheben (werden gleich gesetzt)
set key vertical maxrows 2 # max Anzahl Zeilen der Legende
set key at graph 0.05,0.05 # Legende weit links-unten (Pos. bezogen auf Graph)
set key left bottom        # 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 -10          # Breite schmaler
set key samplen 2          # Breite der Linenbeispiele 
                           # 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 'Einwohlnerzahl' 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.9       # 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 "`echo $(uname -s)`") {
  # 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



### 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
  set output 'Altersstruktur_von_Köln_-_Teilbereich.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_Moers.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:3 ax x1y1 w lp lc rgb my_darkgreen_40  lt 1 lw 1.5 pt 7 ps 0.22   t 'Anzahl Personen ab 65 Jahre („Senioren“)',\
  my_data  u 1:3 ax x1y1 w  p lc rgb my_darkgreen_00  lt 1 lw 1.5 pt 7 ps 0.22 not              ,\
  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 'Anzahl Personen bis 14 Jahre („Kinder“)',\
  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 "Altersstruktur_von_Koeln_-_Teilbereich.dat" abspeichern und ins gleiche Verzeichnis wie das GnuPlot-Script ablegen.

#
31.12.1990 ;129434;140931
31.12.1991 ;131481;141957
31.12.1992 ;133529;143086
31.12.1993 ;135088;144491
31.12.1994 ;136312;145726
31.12.1995 ;136591;147061
31.12.1996 ;136745;147750
31.12.1997 ;137140;148105
31.12.1998 ;136789;148415
31.12.1999 ;137026;150955
31.12.2000 ;137147;153833
31.12.2001 ;137294;157760
31.12.2002 ;136136;161070
31.12.2003 ;134456;164546
31.12.2004 ;132670;169211
31.12.2005 ;130909;174425
31.12.2006 ;129997;178514
31.12.2007 ;129748;180732
31.12.2008 ;129991;182390
31.12.2009 ;130751;183674
31.12.2010 ;132561;183399
31.12.2011;133380;180246
31.12.2012;134300;181578
31.12.2013 ;135595;182829
31.12.2014;137660;184603
31.12.2015;141199;185923
31.12.2016;145484;187102
31.12.2017 ;146924;188057
31.12.2018;148578;188370
31.12.2019;148740;189421
# EOF

Kurzbeschreibungen

Grafik der Altersstruktur für Bevölkerungsteile in Köln

In dieser Datei abgebildete Objekte

Motiv

image/svg+xml

6753382aea6f96423f662d4c239843c2393d0626

58.534 Byte

400 Pixel

800 Pixel

Dateiversionen

Klicke auf einen Zeitpunkt, um diese Version zu laden.

Version vomVorschaubildMaßeBenutzerKommentar
aktuell16:14, 8. Jul. 2020Vorschaubild der Version vom 16:14, 8. Jul. 2020800 × 400 (57 KB)MakrameusUploaded own work with UploadWizard

Die folgende Seite verwendet diese Datei:

Metadaten