DSL Graph mit Python

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

/usr/bin/python generate.py

Ausführbar machen und ausführen:

chmod +x generate.sh
./generate.sh

Ergebnis:

PyGal output

Ein Kommentar zu „DSL Graph mit Python

Gib deinen ab

Kommentar verfassen

Betrieben von WordPress | Theme: Baskerville 2 von Anders Noren.

Nach oben ↑

Lesen Sie den vorherigen Eintrag:
DSL Traffic 2017

Unser DSL-Traffik 2017 Angabe in Megabytes Anfang des Jahres war der Traffik hauptsächlich über den anderen Anschluss und taucht hier in der Statistik nicht auf. Im März und April war noch Renovierungszeit und es wurde weniger gestreamt. Wir haben uns nach der Arbeit eher selbst nur noch in Bett gestreamt....

Schließen