/** * Alias for FlashChart::chart('radar'); * * The Radar chart needs special axis and also * have special methods for stokes and labes * * @todo Each value can have it's own tooltip using the dot_value class * * @example echo $flashChart->radar(array('loop'=>false','colour'=>'336699')); * @example echo $flashChart->radar(array('type'=>filled'),'Dataset2'); * @param array $options * @param string $datasetName The name to be used to associate charts with data * @param string $chartId Name of chart. Use for seperate charts. * @return string */ public function radar($options = array(), $datasetName = 'default', $chartId = 'default') { if (empty($this->data[$datasetName])) { return false; } $this->Chart->set_bg_colour($this->bg_colour); if (isset($options['type']) && $options['type'] == 'filled') { $line = new area_hollow(); } else { $line = new line_hollow(); if (!isset($options['loop']) || isset($options['loop']) && $options['loop']) { $line->loop(); } if (isset($options['loop'])) { unset($options['loop']); } } $values = $this->getNumbers($datasetName); /* @todo code below is not getting expected result if (isset($options['tooltip_path'])) { $numbers = $values; $values = array(); $tooltips = Set::extract($xpath,$this->data[$datasetName]); if (isset($options['tooltip_colour'])) { $colour = $options['tooltip_colour']; unset($options['tooltip_colour']); } else { $colour = $this->grid_colour; } foreach ($numbers as $key => $number) { $tmp = new dot_value( $number, $colour ); $tmp->set_tooltip($tooltips[$key]); $values[] = $tmp; } unset($options['tooltip_path']); }*/ if (isset($options['type'])) { unset($options['type']); } foreach ($options as $key => $setting) { $set_method = 'set_' . $key; if (is_array($setting)) { $line->{$set_method}($setting[0], $setting[1]); } else { $line->{$set_method}($setting); } } $radar_axis_object = new radar_axis($this->radarAxis['max']); $radar_axis_object->set_steps($this->radarAxis['steps']); $radar_axis_object->set_colour($this->radarAxis['colour']); $radar_axis_object->set_grid_colour($this->radarAxis['grid_colour']); if (!empty($this->radarAxis['labels'])) { $labels = new radar_axis_labels($this->radarAxis['labels']); $labels->set_colour($this->radarAxis['label_colour']); $radar_axis_object->set_labels($labels); } if (!is_null($this->spoke_labels)) { $radar_axis_object->set_spoke_labels($this->spoke_labels); } $this->Chart->set_radar_axis($radar_axis_object); $line->set_values($values); $this->Chart->add_element($line); return $this->renderData($chartId); }
$area_w->set_fill_colour('#EFC01D'); $area_w->set_fill_alpha(0.4); $area_w->set_loop(); $area_w->set_values($vals); $line_t = new line(); $line_t->set_values($data_t); $max = max($data_t) * 1.15; $label = array(); for ($i = 0; $i < $max; $i = $i + round($max * 0.1, -1)) { $label[] = $i; } $r = new radar_axis($max); $r->set_colour('#EFD1EF'); $r->set_steps(round($max * 0.1, -1)); $r->set_grid_colour('#EFD1EF'); $labels = new radar_axis_labels($label); $labels->set_colour('#9F819F'); $r->set_labels($labels); $spoke_labels = new radar_spoke_labels($time_axis); $spoke_labels->set_colour('#9F819F'); $r->set_spoke_labels($spoke_labels); $tooltip = new tooltip(); $tooltip->set_hover(); $chart = new open_flash_chart(); $chart->set_title($title); $chart->set_tooltip($tooltip); $chart->set_bg_colour('#ffffff'); $chart->set_radar_axis($r); $chart->add_element($area_w); echo $chart->toString(); }