0 votes
in SoSci Survey (dt.) by s049805 (670 points)

Wir möchten für eine Teilnehmer-Live-Auswertung auf der letzten Seite gerne einen Berechneten Wert zwischen -24 bis +24 als Balkendiagramm darstellen, da die Darstellung mit der Grafik (responseSD) nicht responsive ist und bei mobilen Darstellungen unpraktisch ist.

Wir haben also die Variable berechnet, dann ist hier noch der alte Code für eine z-Transformation und Ausgabe als Text.

Ich dachte ich kann durch das abspeichern über eine Interne Variable vielleicht das Balkendiagramm programmieren - hat aber leider nicht geklappt.

// Definition der Fragen und der Werte möglicher Antworten
$fragen = array(
'SL01' => array(1 => 2, 2 => -1, 3 => 1, 4 => -2), 
'SL02' => array(1 => 2, 2 => -2, 3 => 1, 4 => -1), 
'SL03' => array(1 => 1, 2 => -1, 3 => -2, 4 => 2),  
'SL04' => array(1 => 1, 2 => -2, 3 => 2, 4 => -1),  
'SL05' => array(1 => -2, 2 => 1, 3 => 2, 4 => -1),  
'SL06' => array(1 => -1, 2 => 1, 3 => -2, 4 => 2),  
'SL07' => array(1 => -2, 2 => 2, 3 => -1, 4 => 1),  
'SL08' => array(1 => 2, 2 => -1, 3 => -2, 4 => 1),  
'SL09' => array(1 => -2, 2 => 1, 3 => 2, 4 => -1),  
'SL10' => array(1 => 1, 2 => -2, 3 => -1, 4 => 2), 
'SL11' => array(1 => -2, 2 => 2, 3 => -1, 4 => 1), 
'SL12' => array(1 => -1, 2 => 2, 3 => -2, 4 => 1));

 
// Zähl-Variable initialisieren
$points = 0;
 
// Mittels foreach kann man einfach die Schlüssel-Wert-Paare durchlaufen
foreach ($fragen as $variable => $values) {
  // Antwort des Teilnehmers abrufen
  $answer = value($variable);
  // Prüfen, ob für diese Antwort ein Wert vorliegt (sonst keinen Punkt vergeben)
  if (isset($values[$answer])) {
    // Zählen des Wertes
    $points += $values[$answer];
  }
}
 
// z-Transformation
$zPoints = ($points)/8;
// Filter extreme values
if ($zPoints < -3) {
  $zPoints = -3;
}
if ($zPoints > 3) {
  $zPoints = 3;
}
// Use textblocks (only if $value delivered a valid value)
if ($points > -25) {
  text('responseSD', array(
    '%title%' => 'Your Style Adjustment Result',
    '%z-value%' => $zPoints 
  ));
}

  {html('<br><center>You got <b>'.$points.' points</b> in a range of -24 to +24 points.</center></b>
<p><b>Style Adjustment</b> means the appropriateness of your given answers in the questionnaire.<p><br></p><p><br></p>');}


put('IV01_01', $points);

html('
 diagram('percent', 'IV01_01'));

Was mach ich falsch, bzw. wie kann ich den Wert in einem Balkendiagramm möglichst responsive und für Handy-Fragebogen-Bearbeiter handhabbar programmieren?

1 Answer

0 votes
by SoSci Survey (327k points)

Was mach ich falsch, bzw. wie kann ich den Wert in einem Balkendiagramm möglichst responsive und für Handy-Fragebogen-Bearbeiter handhabbar programmieren?

Die Funktion diagram() ist schon ein wenig angestaubt und soll in absehbarer Zeit durch chart() ersetzt werden. Allerdings liefert auch dieser Funktino nur eine Grafik, die nicht responsiv ist.

Wenn Sie es wirklich schick haben möchten, erzeugen Sie das Diagramm mittels HighCharts - die JavaScript-Bibliothek dafür kann über library('highcharts') in SoSci Survey geladen werden.

by s049805 (670 points)
Okay, danke. Highcharts sehen natürlich spitze aus.

Wir laufen über den s2survey.net Server - ist da highcharts verfügbar oder brauchen wir dafür die Server-Lizenz?

Auf der Homepage von Highcharts ist davon die Rede, dass man das Plugin kaufen kann. Zur Verwendung in SoSci ist mir die Installation (?) bzw. das allgemeine Vorgehen nicht klar. Die Anleitung im Support Bereich verweist ja primär auf die Homepage von Highcharts. Die hilft mir in dem Fall nicht weiter.


Liebe Grüße und danke für Ihren Support!
by SoSci Survey (327k points)
Auf s2survey.net ist Highcharts selbstverständlich auch verfügbar.

Die Verwendung erforder allerdings tatsächlich ein wenig JavaScript-Programmierung. Mit dem library()-Befehl lädt man die Highcharts-Bibliothek auf der Fragebogen-Seite. Und dann würde ich empfehlen, dass Sie einen der Beispiel-Codes von der Highcharts-Seite als Text (HTML-Code) speichern und in die Seite ziehen. Wenn Sie dann etwas sehen, haben Sie einen guten Startpunkt, ab dem Sie arbeiten (z.B. Zahlen durch Platzhalter ersetzen) können. Wenn nicht, schauen Sie bitte in die JavaScript-Fehlerkonstole und/oder posten Sie bitte einen Pretest-Link, damit wir einen Blick darauf werfen können.

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

...