Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

0 votes

Hallo,

ich will ein Diagramm mit 2 Balken erstellen, dass einen zuvor errechneten Wert durch die Antwort des Probanden enthält und der zweite Balken soll einen starren Wert (deutscher Durchschnitt) anzeigen. Ich habe das folgendermaßen versucht:

$hours = value('CO01_01');
$co2_e = 0.17 * $hours;
$co2_durchschnitt = 0.56;

$hours2 = value('CO02_01');
$co2_t = 0.24 * $hours2;

$co2_gesamt = $co2_e + $co2_t ;
replace('%co2_gesamt%', sprintf('%1.1f', $co2_gesamt));

html('

Im betreffenden Jahr lag ihr CO2-Ausstoß bei %co2_gesamt% t CO2. Der deutsche Durchschnitt liegt bei 0.56 t CO2-Ausstoß für Flugreisen. Im nachfolgenden Diagramm haben wir ihren Ausstoß in Bezug zum deutschen Durchschnitt gesetzt.

');
html(
  diagram('bar', 'co2_gesamt', 'co2_durchschnitt', 'value=2', 'width=200')
);

Leider wird mir folgendes angezeigt:
In der Funktion diagram() muss mindestens eine Variablen-Kennung angegeben werden.

in SoSci Survey (dt.) by s133453 (165 points)

1 Answer

+1 vote

Die Funktion diagram() ist eher ein Relikt als tatsächlich gut nutzbar. Und die Funktion diagram2() unterstützt nur ein Polprofil. Das liegt nicht zuletzt daran, dass diese Funktionen in der Praxis quasi nie zum Einsatz kommen.

Versuchen Sie es bitte einmal mit der Funktion chart(), die bisher aber noch im Teststadium ist:

$img = chart(
  [$co2_durchschnitt, $co2_gesamt],
  ['Durchschnitt', 'Ihr Wert'],
  'bar'
);
html('<div><img src="'.$img.'"></div>');

Ansonsten kann man mittels Chart.js optisch sehr ansprechende Charts in allen Formen und Farben erstellen. Auch ein Grund, warum die SoSci-internen Funktionen kaum benötigt werden. Die JavaScript-Bibliothek Chart.js ist in SoSci Survey direkt verfügbar:

library('chartJS');

Den JavaScript-Code für das Chart fügen Sie dann einfach als HTML-/JavaScript-Code ein. Die Werte übergeben Sie am einfachsten als Platzhalter.

by SoSci Survey (108k points)
...