public function parseGlobalOptions(stdClass $a_options, ilChart $a_chart) { $spider = new stdClass(); $spider->active = true; $spider->highlight = new stdClass(); $spider->highlight->mode = "line"; $spider->legs = new stdClass(); $spider->legs->fillStyle = ilChart::renderColor("#000", "0.7"); switch (count($a_chart->getLegLabels())) { case 4: case 6: $spider->legs->legStartAngle = 10; break; default: $spider->legs->legStartAngle = 0; break; } $spider->legs->data = array(); $max_str_len = 0; foreach ($a_chart->getLegLabels() as $l) { $l = ilUtil::shortenText($l, 80, true); $label = new stdClass(); $label->label = $l; $spider->legs->data[] = $label; $max_str_len = max($max_str_len, strlen($l)); } // depending on caption length if ($max_str_len > 60) { $font_size = 10; } else { if ($max_str_len > 30) { $font_size = 12; } else { $font_size = 15; } } $spider->legs->font = $font_size . "px Arial"; $spider->spiderSize = 0.7; $spider->lineWidth = 1; $spider->pointSize = 0; $spider->connection = new StdClass(); $spider->connection->width = 2; $spider->legMin = 1.0E-7; $spider->legMax = $a_chart->getYAxisMax(); $a_options->series->spider = $spider; }