Erstellungshilfe für Balkendiagramme

Mit diesem Programm lassen sich automatische Balkendiagramme aus .csv-Textdateien erzeugen und als .png Grafiken speichern. Die Werte der .csv Dateien stammen aus "Single-Choice"-Fragebögen. Ein Beispiel findet sich hier. Das Arbeitsverzeichnis für das Beispiel ist /www/lehre/ws0203/vs/evaluation/.

Dateien

Datei Beschreibung
antworttypen.csv Single-Choice Werte
ergebnisse.csv Fragebogen Ergebnisse
maketable.php Erzeugt ein Tabellen-Gerüst für alle Diagramme der Ergebnisse-Datei.
cache.php Gibt ein Diagramm als .png-Grafik zurück. Parameter "TITEL", so wie er in der Ergebnisse-Datei steht. Weitere Anpassungen (die zwei .csv Dateien) werden direkt in der Datei gemacht.

Fragebogen Ergebnisse-Datei (csv-Format)

xTyp;Titel;Reihe;Werte;;;;;;;;;;;;;...
a;Schwierigkeitsgrad des Stoffes;Vorlesung;6;4;2;2;3;3;3;3;4;4;2;3;3...
a;Schwierigkeitsgrad des Stoffes;Übung;5;4;2;2;3;4;3;4;3;3;2;3;3...
e;Wo möchten Sie die Inhalte konsumieren?;;1;1;1;3;1;1;1;1;1;1;1;1;1...
...

Die erste Zeile beinhaltet die Spaltennamen und muss angegeben werden.
Die ersten zwei Datenzeilen werden zu einem Diagramm zusammengefasst, da [Titel] und [xTyp] gleich sind.
Die dritte Datenzeile erzeugt ein Diagramm mit der x-Achsen Gruppierung des Antworttyps xTyp="e" (s.u.).
Eine Zeile darf max. 65536 Zeichen lang sein (Platz für max. 32765 Auswertungen).

Single-Choice Werte (csv-Format)

typ;wert;anzeige
a;1;sehr gut
a;2;gut
a;3;befried.
a;4;ausreichend
a;5;magelhaft
a;6;ungenügend
e;1;zu Hause
e;2;RZ
e;3;IBR
e;4;woanders
...

Die erste sechs Zeile beinhaltet die Optionen von Antworttyp "a". D.h. das Diagramm mit xTyp="a" beinhaltet 6 Balken und stellt die Häufigkeit der Werte aus der zweiten Spalte dar. Die x-Achse im Diagramm wird mit dem Text beschriftet, der in der dritten Spalte steht.
Die anschließenden vier Zeilen beinhaltet die Optionen von Antworttyp "e".

Vorgehensweise

  1. Die oben genannten zwei php-Dateien in das Verzeichnis kopieren, in dem die Auswertung gemacht werden soll.
  2. Aufgrund der möglichen Antworten im Fragebogen die Single-Choice Werte-Datei im Verzeichnis erstellen/anpassen.
  3. Fragebögen Ergebnisse in die Fragebogen Ergebnisse-Datei eintragen (Z.B. in Excel, dann "Speichern unter", dann ".csv").
  4. In maketable.php die Fragebogen Ergebnisse-Datei als Wert für $AFILE eintragen (Achtung: die csv-Dateien werden per http abgerufen).
  5. In cache.php die Werte für $WFILE und $AFILE anpassen.
  6. Ein Verzeichnis "img" anlegen (falls nicht in cache.php verändert) und mit Schreibrechten für den Webserver ausstatten.
  7. maketable.php über den Webserver aufrufen. Vorausgesetzt der Webserver hat Schreibrechte in dem Verzeichnis, wird eine Datei (standard imgtable.html) erstellt, die das Tabellengerüst für die Diagrammgrafiken beinhaltet. Zum Baseln der Webseite.
  8. Wenn alles korrekt funktioniert, werden die Grafikdateien beim ersten Aufruf der Webseite im img-Verzeichnis erstellt und fortan aus dem lokalen cache geholt. Ändert sich etwas an den csv-Quellen, einfach die Grafikdateien (.png im img-Verzeichnis) löschen. Beim nächsten Seitenaufruf (reload!) werden die Grafiken neu erstellt. Falls ein "Titel" verändert wird, muß das src-Attribut im img-Element entsprechend angepasst werden.

Bemerkung

Die eigentliche Berechnung erfolgt auf dem Server www.lernheft.de, da die auf dem agitator momentan installierte php-Version, die verwendeten Grafikfunktionen nicht unterstützt. Die Verarbeitung der csv-Dateien beruht auf der php-Klasse csvwalk von M. Gutbrod und die Grafikerstellung auf einer php-Klasse von Tsiavos Chris http://www.geocities.com/phpstatistics/),

Der eigentliche Aufruf zur Berechung einer Grafik erfolgt über eine URL wie beispielsweise folgende:
http://www.lernheft.de/diagramme/graph.php?TITEL=Schwierigkeitsgrad+des+Stoffes& AFILE=http://www.ibr.cs.tu-bs.de/users/gutbrod/diagram/ergebnisse.csv&WFILE=http://www.ibr.cs.tu-bs.de/users/gutbrod/diagram/antworttypen.csv&W=474&H=335&HM=50.
Die Parameter W und H stellen Breite und Höhe in Pixel, HM den horizontalen Rahmen dar.

Die Einbindung in die Website erfolgt über eine <img>-Element: <img href="http://www.lernheft.de/diagramme/graph.php?TITEL=Schwierigkeitsgrad+des+Stoffes& AFILE=http://www.ibr.cs.tu-bs.de/users/gutbrod/diagram/ergebnisse.csv&WFILE=http://www.ibr.cs.tu-bs.de/users/gutbrod/diagram/antworttypen.csv">
Das Ergebnis:

Verbesserungsvorschläge

Kontakt: .

Weiterentwicklung

Eine Weiterentwicklung des Tools stellt Popollog dar. Popollog erstellt nicht nur Grafiken, sondern unterstützt in der kompletten Umfragen-Prozesskette bei Fragebogenerstellung, -durchführung und -auswertung. In Dateien, die den oben beschrieben Formaten stark ähneln werden Formulare so definiert, dass damit die gesamten weiteren Prozesse der Umfragedurchführung und Evaluation vollautomatisch durchgeführt werden können.