<== Dateiübersicht dieses Verzeichnises

Ausgabe der SVG-Grafik

Ausgabe des Gnuplot Codes

#!/usr/bin/env gnuplot

my_data = './COVID-19-Pandemie_-_IT_(Italien)_-_aktiv_Infizierte_(800px).csv'

# Start und Ende ermitteln 
  stats my_data every ::1   u (strptime("%Y-%m-%d",strcol(1))) nooutput
  print '     -----Stats-(Timestamp)----'
  print '     Start:          ', strftime("%d. %B %Y",STATS_min)
  print '     Ende:           ', strftime("%d. %B %Y",STATS_max)
  print '     --------------------------'
# label fuer Grafikueberschrtft oben links mit den ermittelten Werten setzen
set label 'Daten vom '.strftime("%d.%m.%y",STATS_min).' bis '.strftime("%d.%m.%y",STATS_max) at graph 0.03, graph 0.93


# als Workaround nehmen wir statt zweimal 'ylabel' hier zweimal 'label'
# (bei multiplot ist es schwierig fuer alle Plots ein ylabel mit gleichen seitl. Einzug zu finden)
set label "aktiv Infizierte" at screen 0.02,0.60 rotate by +90 center


# input (Zeitformat und Separator definieren)
#
set timefmt "%Y-%m-%d"
set datafile separator ';'


# output
# 
# Name der SVG-Datei
set    output   './COVID-19-Pandemie_-_IT_(Italien)_-_aktiv_Infizierte_(800px).svg'
unset  key                     # keine Box fuer Legende
set    border   3              # Rahmen unten (Bit 1) und links (+ Bit 2)


# Gitterlinienen per Hand setzen 
set style line 1 linetype rgb '#4f4f4f' linewidth 0.25 # Def. Major-grid
set style line 2 linetype rgb '#9f9f9f' linewidth 0.20 # def. Minor-grid
unset grid
set grid noxtics nomxtics  # Keine Gitterlinen an der 1. X-Achse (Monate)
set grid x2tics  nomx2tics # Gitterliniene an der 2. X-Achse (Kalenderwochen)
set grid ytics mytics      # Gitterl. an der Y-Achse
set grid back              # Gitter im Hintergrund
set grid linestyle 1, linestyle 2 # Setzen des linestyle fuer Major u. Minor


# X-Achsenbeschriftung:
# ueber x1 machen wir die Monatsbschriftung, ueber x2 die Kalenderwochenbeschriftung 
#
# beide X-Achsen, also x1 und x2, als Zeitachse definieren
set  xdata time
set x2data time
# Bereich (von - bis) der X-Achse definieren
# Beginnt am 1. Jan. 2020 und Edit heute plus 6 Tage
xrange_max=strftime("%Y-%m-%d", time(0) + (60*60*24*6)) 
# zuvor Berechnetes xrange_max setzten
set  xrange  ['2020-01-01': xrange_max]
set x2range  ['2020-01-01': xrange_max]
# die Maker fuer Monat setzen wir per Hand. Als 'format' geben wir einen leeren String an damit 
unset xtics
set xtics rotate by +30 center offset -1.5,-0.6
set xtics format ""
set xtics     ( "1. Jan."    "2020-01-01" \
              , "1. Feb."    "2020-02-01" \
              , "1. März"    "2020-03-01" \
              , "1. Apr."    "2020-04-01" \
              , "1. Mai"     "2020-05-01" \
              , "1. Jun."    "2020-06-01" \
              , "1. Jul."    "2020-07-01" \
              , "1. Aug."    "2020-08-01" \
              , "1. Sep."    "2020-09-01" \
              , "1. Okt."    "2020-10-01" \
              , "1. Nov."    "2020-11-01" \
              , "1. Dez."    "2020-12-01" \
              , "1. Jan. 21" "2021-01-01" \
              , "1. Feb."    "2021-02-01" \
              , "1. März"    "2021-03-01" \
              )


#            
# Kalenderwochen-Striche
#
# fuer x2 (KW) ebendalls keine Beschriftung
set format x2 ''
# der 6. Jan. 2020 war ein Montag - da setzen wir den ersten Strich und die 
# folgenden Striche alle 7 Tage (hier in 60 * 60 * 24 * 7 Sekunden)
set  x2tics   '2020-01-06', 60 * 60 * 24 * 7
set  x2tics scale 0
set   xtics nomirror
unset mxtics

# Format Y-Achse
set  decimalsign locale "de_DE.utf8"
set  format y "%'.0f"
set   ytics  nomirror
set  yrange [-5000:*]
set   ytics  25000
set  mytics  5
# Kein 'set  ylabel' weil oben fest positioniert



# Zebramuster
set style rect fillcolor lt -1 fillstyle solid 0.06 noborder
do for [i=1:12:2] {
  marker_start=sprintf("2020-%1.2d-01",i)
  marker_stop =sprintf("2020-%1.2d-01",i+1)
  set object rectangle from marker_start,graph 0 to marker_stop, graph 1
  marker_start=sprintf("2021-%1.2d-01",i)
  marker_stop =sprintf("2021-%1.2d-01",i+1)
  set object rectangle from marker_start,graph 0 to marker_stop, graph 1
}


# Groesse und Schrift definieren
# 
# Zur Variablen 'STATS_max' siehe oben
my_svg_name=strftime("COVID_%d_%m_%Y",STATS_max)
set  term svg size 800,300 font "Arial,16" name my_svg_name


set lmargin  10.0 # linker Rand fuer Beschriftung Y-Achse sollte nicht auf Auto stehen
set rmargin   1.0 # rechter Rand 
set tmargin   1.0 # top margin

set  xlabel "Datum (Monats- und KW-Skala)"

plot my_data usi 1:2 axis x1y1 tit '' lt rgb '#df7000' lw 1.00 with impulses

Ausgabe der Daten (CSV-Daten von der Wikiseite)

  

Ausgaben von Gnuplot während der Erzeugung der Grafik


"./COVID-19-Pandemie_-_IT_(Italien)_-_aktiv_Infizierte_(800px).gpl", line 6: No valid data points found in file