/**
  * Creates a preconfigured area element (colors etc.)
  *
  */
 protected function createArea($color = '#f58615', $fill_color = '#fcdeba')
 {
     $dot = $this->createDot($color);
     $area = new area();
     // set the circle line width:
     $area->set_width(2);
     $area->set_default_dot_style($dot);
     $area->set_colour($color);
     $area->set_fill_colour($fill_color);
     $area->set_fill_alpha(0.8);
     return $area;
 }
示例#2
0
文件: 1.php 项目: rosickey/pychartit
for ($i = 0; $i < 6.2; $i += 0.2) {
    $tmp = sin($i) * 1.9;
    $data[] = $tmp;
}
include '../php-ofc-library/open-flash-chart.php';
$chart = new open_flash_chart();
$chart->set_title(new title('Area Chart'));
//
// Make our area chart:
//
$area = new area();
// set the circle line width:
$area->set_width(2);
$area->set_default_dot_style(new hollow_dot());
$area->set_colour('#838A96');
$area->set_fill_colour('#E01B49');
$area->set_fill_alpha(0.4);
$area->set_values($data);
// add the area object to the chart:
$chart->add_element($area);
$y_axis = new y_axis();
$y_axis->set_range(-2, 2, 2);
$y_axis->labels = null;
$y_axis->set_offset(false);
$x_axis = new x_axis();
$x_axis->labels = $data;
$x_axis->set_steps(2);
$x_labels = new x_axis_labels();
$x_labels->set_steps(4);
$x_labels->set_vertical();
// Add the X Axis Labels to the X Axis
示例#3
0
 /*
     $line_max = new line();
     $line_max->set_default_dot_style($line_max_default_dot);
     $line_max->set_values( $data_max );
     $line_max->set_colour( '#FEE88F' );
     $line_max->set_width( 1 );	
     $line_max->set_key( 'Max (W)', 10 );
     $line_max->set_tooltip( "#val# W" );
 */
 $line_watt_default_dot = new dot();
 $line_watt_default_dot->size(4)->colour('#f00000');
 $line_watt = new area();
 $line_watt->set_default_dot_style($line_watt_default_dot);
 $line_watt->set_values($data_watt);
 $line_watt->set_colour('#4D4D4D');
 $line_watt->set_fill_colour('#EFC01D');
 $line_watt->set_fill_alpha(0.75);
 $line_watt->set_width(2);
 $line_watt->set_key('Leistung (W)', 10);
 $line_watt->set_tooltip("#val# W");
 $line_tot_default_dot = new dot();
 $line_tot_default_dot->size(4)->halo_size(2);
 $line_tot = new line();
 $line_tot->set_default_dot_style($line_tot_default_dot);
 $line_tot->set_values($data_tot);
 $line_tot->set_colour('#A0A000');
 $line_tot->set_width(2);
 $line_tot->set_key('Gesamt (kWh)', 10);
 $line_tot->set_tooltip("#val# kWh");
 $max = max(max($data_watt), $max_val) * 1.15;
 $y = new y_axis();
 public function get_jx_json($info, $type = '')
 {
     $year = array_keys($info);
     $price = array_values($info);
     $chart = new open_flash_chart();
     $chart->set_bg_colour('#FFFFFF');
     //flash背景颜色
     //$title = new title( 'UK Petrol price (pence) per Litre' );
     //$title->set_style( "{font-size: 20px; color: #A2ACBA; text-align: center;}" );
     //$chart->set_title( $title );
     $d = new hollow_dot();
     $d->size(3)->halo_size(0)->colour('#8f8fbd');
     $area = new area();
     $area->set_width(2);
     $area->set_default_dot_style($d);
     $area->set_fill_colour('#eaf6ff');
     $area->set_fill_alpha(0.4);
     $area->set_colour('#8f8fbd');
     //$area->set_values($price);
     $area->set_values($price);
     $chart->add_element($area);
     $num = intval(count($year >= 7 ? $year : 7) / 7);
     if ($num == 0) {
         $num = intval(count($year));
     }
     $num = $num > 0 ? $num : 1;
     $x_labels = new x_axis_labels();
     $x_labels->set_steps($num);
     $x_labels->set_size(12);
     $x_labels->set_colour('#000000');
     $x_labels->set_labels($year);
     if (count($year) > 0) {
         $x_labels->set_vertical();
     }
     //		// 插入数据
     $x = new x_axis();
     $x->set_colour('#000000');
     $x->set_grid_colour('#dadada');
     $x->set_offset(false);
     $x->set_steps($num);
     // Add the X Axis Labels to the X Axis
     //$x->set_labels($x_labels);
     $x->set_labels_from_array($year);
     $chart->set_x_axis($x);
     $y = new y_axis();
     $y->labels = null;
     $max = $this->get_the_right_y(max($price));
     $max = $max > 0 ? $max : 1;
     $y->set_range(0, ($max / 5 + 1) * 5, $max / 5 + 1);
     //		if ($max > 20 && $max <= 100) {
     //
     //			$y->set_range(0, $max, 10);
     //		}elseif($max >= 10&&$max<=20){
     //			$y->set_range(0, $max, 5);
     //		}
     //		else {
     //			$y->set_range(0, $max);
     //		}
     $y->set_colour('#000000');
     $y->set_grid_colour('#dadada');
     if ($type == 'percent') {
         $y->set_label_text("       #val#%");
     } else {
         $y->set_label_text("       #val#");
     }
     $chart->add_y_axis($y);
     $info = $chart->toPrettyString();
     return $info;
 }
示例#5
0
     $data_w[$row->m] = round((double) $row->Watt, 3);
     $data_t[$row->m] = round((double) $row->ETotal, 3);
 }
 $title = new title("\nJahresueberblick Verteilung");
 $title->set_style('{font-size: 20px; color: #778877}');
 $vals = array();
 for ($i = 0; $i < count($data_w); $i++) {
     $tmp = new solid_dot($data_t[$i]);
     $tmp->colour('#4d4d4d')->tooltip("{$time_axis[$i]}<br>#val# kWh");
     $vals[] = $tmp;
 }
 $area_w = new area();
 $area_w->set_width(1);
 $area_w->set_default_dot_style(new hollow_dot('#EFC01D', 5));
 $area_w->set_colour('#EFC01D');
 $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);
示例#6
0
//var_dump($y_data);
foreach ($y_data as $key => $data) {
    $line_dot = new area();
    //$line_dot = new line();
    if (isset($channels[$key])) {
        $legend = $channels[$key]['name'] . ':(' . end($data) . ')';
        $color = $channels[$key]['color'];
        $line_dot->set_width(1);
    } else {
        $legend = 'Total:(' . end($data) . "/{$total_avg}/{$total_max})";
        $color = '#e81dd7';
        $line_dot->set_width(3);
    }
    $line_dot->set_values($data);
    $line_dot->set_default_dot_style($hol);
    $line_dot->set_fill_colour($color);
    $line_dot->set_fill_alpha(0.05);
    $line_dot->set_colour($color);
    $line_dot->set_key($legend, 10);
    $chart->add_element($line_dot);
    $line_dot = NULL;
}
$y = new y_axis();
// grid steps:
$y->set_range(0, $max_val + 10, (int) (($max_val + 10) / 10));
/*$y_labels = new y_axis_labels();
$y_labels->set_size (15);
$y->set_labels( $y_labels );*/
$chart->set_y_axis($y);
$x = new x_axis();
$x->offset(true)->steps(1);
示例#7
0
 public static function create_area_graph($title)
 {
     self::init();
     $d = new solid_dot();
     $d->size(3)->halo_size(1)->colour('#3D5C56');
     $range_values = array();
     foreach (self::$data_set as $data) {
         if (!is_array($data['values'])) {
             continue;
         }
         $area = new area();
         // set the circle line width:
         $area->set_width(2);
         $area->set_default_dot_style($d);
         $area->set_colour($data['color']);
         $area->set_fill_colour($data['color']);
         $area->set_fill_alpha(0.3);
         $area->on_show(new line_on_show('pop-up', 2, 0.5));
         $area->set_key($data['line_title'], 10);
         $area->set_values($data['values']);
         # Since there should be an even number on the xaxis for all sets
         $x_axis_titles = $data['titles'];
         # Add our values into a big bucket so we can get the highest and lowest
         $range_values = array_merge($range_values, $data['values']);
         self::$chart->add_element($area);
     }
     $x_labels = new x_axis_labels();
     $x_labels->set_labels($x_axis_titles);
     $x_labels->set_vertical();
     self::$x_axis->set_labels($x_labels);
     $range = self::get_range($range_values);
     self::$y_axis->set_range($range['min'], $range['max']);
     self::show_chart($title);
 }
示例#8
0
文件: chart.php 项目: easthero/kohana
 function netio()
 {
     function bit_to_kb($n)
     {
         return round($n / 1000, 2);
     }
     function bit_to_mb($n)
     {
         return round($n / 1000000, 2);
     }
     function get_data()
     {
         $recv_l = trim(shell_exec("cat /sys/class/net/eth0/statistics/rx_bytes")) / 8;
         sleep(1);
         $recv_n = trim(shell_exec("cat /sys/class/net/eth0/statistics/rx_bytes")) / 8;
         return $recv_n - $recv_l;
     }
     if (array_key_exists('netio', $_SESSION) && array_key_exists('recv_l', $_SESSION)) {
         if (count($_SESSION['netio']) == 10) {
             array_shift($_SESSION['netio']);
             $_SESSION['netio'][] = get_data();
         } else {
             $_SESSION['netio'][] = get_data();
             $_SESSION['recv_l'] = end($_SESSION['netio']);
         }
     } else {
         $_SESSION['netio'] = array(0, 0, 0, 0, 0, 0, 0, 0, 0);
         $_SESSION['netio'][] = get_data();
         $_SESSION['recv_l'] = end($_SESSION['netio']);
     }
     $data = $_SESSION['netio'];
     /*
       $data = array();
     
       for($i=0;$i<40;$i++){
       $data[] = rand(1000000,10000000);
       }
     */
     foreach (range(1, 10) as $i) {
         settype($i, 'string');
         $second[] = $i;
     }
     if (max($data) <= 1000) {
         $data = array_map("bit_to_kb", $data);
         $y_axis_max = 1;
         $y_axis_key_text = " KB/s";
     } elseif (max($data) <= 10000) {
         $data = array_map("bit_to_kb", $data);
         $y_axis_max = 10;
         $y_axis_key_text = " KB/s";
     } elseif (max($data) <= 100000) {
         $data = array_map("bit_to_kb", $data);
         $y_axis_max = 100;
         $y_axis_key_text = " KB/s";
     } elseif (max($data) <= 1000000) {
         $data = array_map("bit_to_kb", $data);
         $y_axis_max = 1000;
         $y_axis_key_text = " KB/s";
     } elseif (max($data) <= 10000000) {
         $data = array_map("bit_to_mb", $data);
         $y_axis_max = 10;
         $y_axis_key_text = " MB/s";
     } else {
         $data = array_map("bit_to_mb", $data);
         $y_axis_max = 100;
         $y_axis_key_text = " MB/s";
     }
     $y_axis_step = $y_axis_max / 5;
     $chart = new open_flash_chart();
     $title = new title("实时流量显示");
     $title->set_style("{font-size: 12px; color: #A2ACBA; text-align: center;}");
     $chart->set_title($title);
     #点是指曲线图上的顶点
     #		$d = new dot();
     #		$d->colour('#9C0E57')->size(3);
     $area = new area();
     #width是指曲线的宽度
     #		$area->set_width(3);
     #		$area->set_default_dot_style($d);
     $area->set_colour('#5B56B6');
     #value即曲线顶的值
     $area->set_values($data);
     #左上角的文字
     $area->set_key($y_axis_key_text, 10);
     $area->set_fill_colour('#CCCAAA');
     #设透明度
     $area->set_fill_alpha(0.3);
     #area设置结束,使用add_element方法把area加进来
     $chart->add_element($area);
     $chart->set_bg_colour('#FFFFFF');
     #设置label
     $x_labels = new x_axis_labels();
     $x_labels->set_steps(1);
     $x_labels->set_colour('#A2ACBA');
     $x_labels->set_labels($second);
     #设置X轴
     $x_axis = new x_axis();
     $x_axis->set_colour('#A2ACBA');
     $x_axis->set_grid_colour('#D7E4A3');
     $x_axis->set_offset(false);
     $x_axis->set_steps(1);
     $x_axis->set_labels($x_labels);
     $chart->set_x_axis($x_axis);
     #设置X轴的文件说明,即x_legend
     $legend_text = "当前网络流量 " . end($data) . $y_axis_key_text;
     $x_legend = new x_legend($legend_text);
     $x_legend->set_style('{font-size: 12px; color: #778877}');
     $chart->set_x_legend($x_legend);
     #设置轴
     $y_axis = new y_axis();
     $y_axis->set_range(0, $y_axis_max, $y_axis_step);
     $y_axis->labels = null;
     $y_axis->set_offset(false);
     $chart->add_y_axis($y_axis);
     header("Cache-Control: cache, must-revalidate");
     header("Pragma: public");
     echo $chart->toPrettyString();
 }