/** * $array['title'] * $array['legend_y'] * $array['legend_x'] * $array['values'] * $array['values_key'] * $array['range_max'] * $array['range_step'] * @param $array * @return unknown_type */ function create_chart_data($array) { if (!$array) { return; } require_once 'OFC/OFC_Chart.php'; $chart = new OFC_Chart(); $chart->set_bg_colour('#ffffff'); $title = new OFC_Elements_Title($array['title']); $title->set_style('{color: #567300; font-size: 16px; font-weight:bold;}'); $chart->set_title($title); $yl = new OFC_Elements_Legend_Y($array['legend_y']); $yl->set_style('{font-size:18px;}'); $chart->set_y_legend($yl); $xl = new OFC_Elements_Legend_X($array['legend_x']); $xl->set_style('{font-size:18px;color:#Ff0}'); $chart->set_x_legend($xl); $elements = array(); $colors = array('', '#CC00AA', '#9C48F0', '#b0de09', '#0d8ecf', '#ff6600', '#fcd202', '#E2EBFF', '#AAAAAA'); foreach ($array['values'] as $k => $v) { ksort($v, SORT_STRING); $line = new OFC_Charts_Line(); $line->set_key($array['values_key'][$k], 12); $colors[$k] ? $line->set_colour($colors[$k]) : ''; $line->set_values(array_values($v)); $default_dot = new OFC_Charts_Line_Dot(); $default_dot->tooltip('#x_label#<br>#val#'); $line->set_default_dot_style($default_dot); $elements[] = $line; $array['values'][$k] =& $v; } foreach ($elements as $element) { $chart->add_element($element); } $x = new OFC_Elements_Axis_X(); $x->colour = '#909090'; $x_axis_labels = new OFC_Elements_Axis_X_Label_Set(); $x->set_steps($array['show_step']); $x_axis_labels->set_steps($array['show_step']); if (is_array($array['values'][0])) { $keys = array_keys($array['values'][0]); } else { $keys = array_keys($array['values']); } $x_axis_labels->set_labels($keys); $x_axis_labels->set_size(12); $x_axis_labels->set_colour('#Ff0'); $x_axis_labels->set_rotate('-45'); $x->set_labels($x_axis_labels); $chart->set_x_axis($x); $y = new OFC_Elements_Axis_Y(); $range_min = isset($array['range_min']) ? $array['range_min'] : 0; $y->set_range($range_min, $array['range_max'], $array['range_step']); $chart->set_y_axis($y); return $chart->toPrettyString(); }