Da heute ja hier Graphen zum Traffic im Jahr 2016 veröffentlicht wurde hier auch gleich eines der Scripts.
Datenquelle: fb.csv
Monat;Gesendet;Empfangen;Gesamt Jan;4124;16815;20939 Feb;1078;403;1481 Mar;1199;446;1645 Apr;2464;36476;38940 Mai;92979;615268;708247 Jun;138402;664743;803145 Jul;116406;507155;623561 Aug;35654;471810;507464 Sep;31362;428400;459762 Okt;24072;549927;573999 Nov;44095;914362;958457 Dez;57889;1141699;1199588 Gesamt:;549724;5347504;5897228
Benötigte python Pakete:
- pygal
- cairosvg
pip install pygal pip install cairosvg
bzw. apt-get install -y python-cairosvg python-pygal
Script welches die Daten ausliest und die Grafik erstellt:
#!/bin/bash
OUT=`for i in $(tail -n 13 fb.csv | head -n 12 | awk -F";" {'print $2'} ); do echo -n "$i "; done | sed -e 's/\ $//' | sed -e 's/\ /, /g'`
IN=`for i in $(tail -n 13 fb.csv | head -n 12 | awk -F";" {'print $3'} ); do echo -n "$i "; done | sed -e 's/\ $//' | sed -e 's/\ /, /g'`
SUM=`for i in $(tail -n 13 fb.csv | head -n 12 | awk -F";" {'print $4'} ); do echo -n "$i "; done | sed -e 's/\ $//' | sed -e 's/\ /, /g'`
echo " import pygal bar_chart = pygal.Bar() bar_chart.x_labels = 'Jan', 'Feb', 'Mar', 'Apr', 'Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez' bar_chart.add('Eingehend', [$IN ]) bar_chart.add('Ausgehend', [$OUT ]) bar_chart.add('Gesamt', [$SUM ]) bar_chart.render_to_file('output.svg') " > generate.py
Ausführen:
/usr/bin/python generate.py
oder ausführbar machen und ausführen:
chmod +x generate.sh
./generate.sh