/** * assign the chartdata object for open flash chart library * @param $config * @return unknown_type */ function _setChartdata($config) { $model = $this->getModel(); $rounds = $this->get('Rounds'); $round_labels = array(); foreach ($rounds as $r) { $round_labels[] = $r->name; } $division = $this->get('division'); $data = $model->getDataByDivision($division->id); //create a line $length = count($rounds) - 0.5; $linewidth = $config['color_legend_line_width']; $lines = array(); //$title = $division->name; $chart = new open_flash_chart(); //$chart->set_title( $title ); $chart->set_bg_colour($config['bg_colour']); //colors defined for ranking table lines //todo: add support for more than 2 lines foreach ($this->colors as $color) { foreach ($rounds as $r) { for ($n = $color['from']; $n <= $color['to']; $n++) { $lines[$color['color']][$n][] = $n; } } } //set lines on the graph foreach ($lines as $key => $value) { foreach ($value as $line => $key2) { $chart->add_element(hline($key, $length, $line, $linewidth)); } } //load team1, first team in the dropdown $team = $this->team1; $d = new $config['dotstyle_1'](); $d->size((int) $config['line1_dot_strength']); $d->halo_size(1); $d->colour($config['line1']); $d->tooltip('Rank: #val#'); $line = new line(); $line->set_default_dot_style($d); $line->set_values($team->rankings); $line->set_width((int) $config['line1_strength']); $line->set_key($team->name, 12); $line->set_colour($config['line1']); $line->on_show(new line_on_show($config['l_animation_1'], $config['l_cascade_1'], $config['l_delay_1'])); $chart->add_element($line); //load team2, second team in the dropdown $team = $this->team2; $d = new $config['dotstyle_2'](); $d->size((int) $config['line2_dot_strength']); $d->halo_size(1); $d->colour($config['line2']); $d->tooltip('Rank: #val#'); $line = new line(); $line->set_default_dot_style($d); $line->set_values($team->rankings); $line->set_width((int) $config['line2_strength']); $line->set_key($team->name, 12); $line->set_colour($config['line2']); $line->on_show(new line_on_show($config['l_animation_2'], $config['l_cascade_2'], $config['l_delay_2'])); $chart->add_element($line); $x = new x_axis(); if ($config['x_axis_label'] == 1) { $xlabels = new x_axis_labels(); $xlabels->set_labels($round_labels); $xlabels->set_vertical(); } $x->set_labels($xlabels); $x->set_colours($config['x_axis_colour'], $config['x_axis_colour_inner']); $chart->set_x_axis($x); $x_legend = new x_legend(JText::_('COM_JOOMLEAGUE_CURVE_ROUNDS')); $x_legend->set_style('{font-size: 15px; color: #778877}'); $chart->set_x_legend($x_legend); $y = new y_axis(); $y->set_range(count($data), 1, -1); $y->set_colours($config['x_axis_colour'], $config['x_axis_colour_inner']); $chart->set_y_axis($y); $y_legend = new y_legend(JText::_('COM_JOOMLEAGUE_CURVE_RANK')); $y_legend->set_style('{font-size: 15px; color: #778877}'); $chart->set_y_legend($y_legend); ob_clean(); echo $chart->toString(); }
function _setRankingChartdata($config) { require_once JLG_PATH_SITE . DS . "assets" . DS . "classes" . DS . "open-flash-chart" . DS . "open-flash-chart.php"; //$data = $this->get('RankChartData'); //some example data....fixme!!! $data_1 = array(); $data_2 = array(); for ($i = 0; $i < 6.2; $i += 0.2) { $data_1[] = sin($i) * 1.9 + 10; } for ($i = 0; $i < 6.2; $i += 0.2) { $data_2[] = sin($i) * 1.3 + 10; } $chart = new open_flash_chart(); //*********** //line 1 $d = new $config['dotstyle_1'](); $d->size((int) $config['line1_dot_strength']); $d->halo_size(1); $d->colour($config['line1']); $d->tooltip('Rank: #val#'); $line = new line(); $line->set_default_dot_style($d); $line->set_values($data_1); $line->set_width((int) $config['line1_strength']); ///$line->set_key($team->name, 12); $line->set_colour($config['line1']); $line->on_show(new line_on_show($config['l_animation_1'], $config['l_cascade_1'], $config['l_delay_1'])); $chart->add_element($line); //Line 2 $d = new $config['dotstyle_2'](); $d->size((int) $config['line2_dot_strength']); $d->halo_size(1); $d->colour($config['line2']); $d->tooltip('Rank: #val#'); $line = new line(); $line->set_default_dot_style($d); $line->set_values($data_2); $line->set_width((int) $config['line2_strength']); //$line->set_key($team->name, 12); $line->set_colour($config['line2']); $line->on_show(new line_on_show($config['l_animation_2'], $config['l_cascade_2'], $config['l_delay_2'])); $chart->add_element($line); //X-axis $x = new x_axis(); $x->set_colours($config['x_axis_colour'], $config['x_axis_colour_inner']); //$x->set_labels_from_array($round_labels); $chart->set_x_axis($x); $x_legend = new x_legend(JText::_('COM_JOOMLEAGUE_PRED_USER_ROUNDS')); $x_legend->set_style('{font-size: 15px; color: #778877}'); $chart->set_x_legend($x_legend); //Y-axis $y = new y_axis(); $y->set_range(0, @max($data_1) + 2, 1); $y->set_steps(round(@max($data_1) / 8)); $y->set_colours($config['y_axis_colour'], $config['y_axis_colour_inner']); $chart->set_y_axis($y); $y_legend = new y_legend(JText::_('COM_JOOMLEAGUE_PRED_USER_POINTS')); $y_legend->set_style('{font-size: 15px; color: #778877}'); $chart->set_y_legend($y_legend); $this->assignRef('rankingchartdata', $chart); }
function _setChartdata($config) { require_once JLG_PATH_SITE . '/assets/classes/open-flash-chart/open-flash-chart.php'; $data = $this->get('ChartData'); // Calculate Values for Chart Object $forSum = array(); $againstSum = array(); $matchDayGoalsCount = array(); $round_labels = array(); foreach ($data as $rw) { if (!$rw->homegoalspd) { $rw->homegoalspd = 0; } if (!$rw->guestgoalspd) { $rw->guestgoalspd = 0; } $homeSum[] = (int) $rw->homegoalspd; $awaySum[] = (int) $rw->guestgoalspd; // check, if both results are missing and avoid drawing the flatline of "0" goals for not played games yet if (!$rw->homegoalspd && !$rw->guestgoalspd) { $matchDayGoalsCount[] = null; } else { $matchDayGoalsCount[] = (int) $rw->homegoalspd + $rw->guestgoalspd; } $round_labels[] = $rw->roundcode; } $chart = new open_flash_chart(); //$chart->set_title( $title ); $chart->set_bg_colour($config['bg_colour']); if (!empty($homeSum) && !empty($awaySum)) { if ($config['home_away_stats']) { $bar1 = new $config['bartype_1'](); $bar1->set_values($homeSum); $bar1->set_tooltip(JText::_('COM_JOOMLEAGUE_STATS_HOME') . ": #val#"); $bar1->set_colour($config['bar1']); $bar1->set_on_show(new bar_on_show($config['animation_1'], $config['cascade_1'], $config['delay_1'])); $bar1->set_key(JText::_('COM_JOOMLEAGUE_STATS_HOME'), 12); $bar2 = new $config['bartype_2'](); $bar2->set_values($awaySum); $bar2->set_tooltip(JText::_('COM_JOOMLEAGUE_STATS_AWAY') . ": #val#"); $bar2->set_colour($config['bar2']); $bar2->set_on_show(new bar_on_show($config['animation_2'], $config['cascade_2'], $config['delay_2'])); $bar2->set_key(JText::_('COM_JOOMLEAGUE_STATS_AWAY'), 12); $chart->add_element($bar1); $chart->add_element($bar2); } } // total $d = new $config['dotstyle_3'](); $d->size((int) $config['line3_dot_strength']); $d->halo_size(1); $d->colour($config['line3']); $d->tooltip(JText::_('COM_JOOMLEAGUE_STATS_TOTAL2') . ' #val#'); $line = new line(); $line->set_default_dot_style($d); $line->set_values($matchDayGoalsCount); $line->set_width((int) $config['line3_strength']); $line->set_key(JText::_('COM_JOOMLEAGUE_STATS_TOTAL'), 12); $line->set_colour($config['line3']); $line->on_show(new line_on_show($config['l_animation_3'], $config['l_cascade_3'], $config['l_delay_3'])); $chart->add_element($line); $x = new x_axis(); $x->set_colours($config['x_axis_colour'], $config['x_axis_colour_inner']); $x->set_labels_from_array($round_labels); $chart->set_x_axis($x); $x_legend = new x_legend(JText::_('COM_JOOMLEAGUE_STATS_ROUNDS')); $x_legend->set_style('{font-size: 15px; color: #778877}'); $chart->set_x_legend($x_legend); $y = new y_axis(); $y->set_range(0, @max($matchDayGoalsCount) + 2, 1); $y->set_steps(round(@max($matchDayGoalsCount) / 8)); $y->set_colours($config['y_axis_colour'], $config['y_axis_colour_inner']); $chart->set_y_axis($y); $y_legend = new y_legend(JText::_('COM_JOOMLEAGUE_STATS_GOALS')); $y_legend->set_style('{font-size: 15px; color: #778877}'); $chart->set_y_legend($y_legend); $this->chartdata = $chart; }
/** * assign the chartdata object for open flash chart library * @param $config * @return unknown_type */ function _setChartdata($config) { require_once JLG_PATH_SITE . DS . "assets" . DS . "classes" . DS . "open-flash-chart" . DS . "open-flash-chart.php"; $data = $this->get('ChartData'); // Calculate Values for Chart Object $forSum = array(); $againstSum = array(); $matchDayGoalsCount = array(); $matchDayGoalsCount[] = 0; $round_labels = array(); $matchDayGoalsCountMax = 0; foreach ($data as $rw) { if (!$rw->goalsfor) { $rw->goalsfor = 0; } if (!$rw->goalsagainst) { $rw->goalsagainst = 0; } $forSum[] = intval($rw->goalsfor); $againstSum[] = intval($rw->goalsagainst); // check, if both results are missing and avoid drawing the flatline of "0" goals for not played games yet if (!$rw->goalsfor && !$rw->goalsagainst) { $matchDayGoalsCount[] = 0; } else { $matchDayGoalsCount[] = intval($rw->goalsfor + $rw->goalsagainst); } $round_labels[] = $rw->roundcode; } $chart = new open_flash_chart(); //$chart->set_title( $title ); $chart->set_bg_colour($config['bg_colour']); $barfor = new $config['bartype_1'](); $barfor->set_values($forSum); $barfor->set_tooltip(JText::_('COM_JOOMLEAGUE_TEAMSTATS_GOALS_FOR') . ": #val#"); $barfor->set_colour($config['bar1']); $barfor->set_on_show(new bar_on_show($config['animation_1'], $config['cascade_1'], $config['delay_1'])); $barfor->set_key(JText::_('COM_JOOMLEAGUE_TEAMSTATS_GOALS_FOR'), 12); $baragainst = new $config['bartype_2'](); $baragainst->set_values($againstSum); $baragainst->set_tooltip(JText::_('COM_JOOMLEAGUE_TEAMSTATS_GOALS_AGAINST') . ": #val#"); $baragainst->set_colour($config['bar2']); $baragainst->set_on_show(new bar_on_show($config['animation_2'], $config['cascade_2'], $config['delay_2'])); $baragainst->set_key(JText::_('COM_JOOMLEAGUE_TEAMSTATS_GOALS_AGAINST'), 12); $chart->add_element($barfor); $chart->add_element($baragainst); // total $d = new $config['dotstyle_3'](); $d->size((int) $config['line3_dot_strength']); $d->halo_size(1); $d->colour($config['line3']); $d->tooltip(JText::_('COM_JOOMLEAGUE_TEAMSTATS_TOTAL2') . ' #val#'); $line = new line(); $line->set_default_dot_style($d); $line->set_values(array_slice($matchDayGoalsCount, 1)); $line->set_width((int) $config['line3_strength']); $line->set_key(JText::_('COM_JOOMLEAGUE_TEAMSTATS_TOTAL'), 12); $line->set_colour($config['line3']); $line->on_show(new line_on_show($config['l_animation_3'], $config['l_cascade_3'], $config['l_delay_3'])); $chart->add_element($line); $x = new x_axis(); $x->set_colours($config['x_axis_colour'], $config['x_axis_colour_inner']); $x->set_labels_from_array($round_labels); $chart->set_x_axis($x); $x_legend = new x_legend(JText::_('COM_JOOMLEAGUE_TEAMSTATS_ROUNDS')); $x_legend->set_style('{font-size: 15px; color: #778877}'); $chart->set_x_legend($x_legend); $y = new y_axis(); $y->set_range(0, max($matchDayGoalsCount) + 2, $config['y_axis_steps']); $y->set_colours($config['y_axis_colour'], $config['y_axis_colour_inner']); $chart->set_y_axis($y); $y_legend = new y_legend(JText::_('COM_JOOMLEAGUE_TEAMSTATS_GOALS')); $y_legend->set_style('{font-size: 15px; color: #778877}'); $chart->set_y_legend($y_legend); $this->assignRef('chartdata', $chart); }