增加了ECharts支持
This commit is contained in:
parent
c0bff2427e
commit
70b34f3b2e
159
chart/chart.php
Normal file
159
chart/chart.php
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class ChartData
|
||||||
|
{
|
||||||
|
public $name;
|
||||||
|
public $cols;
|
||||||
|
public $value;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param n 数据名称
|
||||||
|
* @param cols_data 列数据名称
|
||||||
|
* @param cols_value 列数据
|
||||||
|
**/
|
||||||
|
public function __construct($n,$cols_data,$cols_value)
|
||||||
|
{
|
||||||
|
$this->name=$n;
|
||||||
|
|
||||||
|
$this->cols=$cols_data;
|
||||||
|
$this->value=$cols_value;
|
||||||
|
}
|
||||||
|
};//class ChartData
|
||||||
|
|
||||||
|
class Chart
|
||||||
|
{
|
||||||
|
private $id;
|
||||||
|
private $width,$height;
|
||||||
|
|
||||||
|
private $title=null;
|
||||||
|
|
||||||
|
private $type=null;
|
||||||
|
|
||||||
|
private $data_list=array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param n 名称(用于显示)
|
||||||
|
* @param i id
|
||||||
|
* @param w 宽
|
||||||
|
* @param h 高
|
||||||
|
* @param t 类型
|
||||||
|
**/
|
||||||
|
public function __construct($n,$i,$w,$h,$t)
|
||||||
|
{
|
||||||
|
$this->title=$n;
|
||||||
|
$this->id=$i;
|
||||||
|
$this->width=$w;
|
||||||
|
$this->height=$h;
|
||||||
|
$this->type=$t;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function set_title($t)
|
||||||
|
{
|
||||||
|
$this->title=$t;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function set_type($t)
|
||||||
|
{
|
||||||
|
$this->type=$t;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function add_data($data)
|
||||||
|
{
|
||||||
|
array_push($this->data_list,$data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function draw()
|
||||||
|
{
|
||||||
|
echo '<div id="'.$this->id.'" style="width:'.$this->width.'px;height:'.$this->height.'px;"></div>';
|
||||||
|
|
||||||
|
echo '<script type="text/javascript">
|
||||||
|
|
||||||
|
var myChart=echarts.init(document.getElementById("'.$id.'"));
|
||||||
|
|
||||||
|
var option =
|
||||||
|
{
|
||||||
|
';
|
||||||
|
|
||||||
|
if($this->title)
|
||||||
|
echo 'title:{text:"'.$this->title.'"},
|
||||||
|
tooltip:{},';
|
||||||
|
|
||||||
|
echo 'legend: { data:[';
|
||||||
|
|
||||||
|
$first=true;
|
||||||
|
foreach($data_list as $obj)
|
||||||
|
{
|
||||||
|
if($first==false)
|
||||||
|
echo ',';
|
||||||
|
|
||||||
|
echo '"'.$obj->name.'"';
|
||||||
|
$first=false;
|
||||||
|
}
|
||||||
|
|
||||||
|
echo ']},
|
||||||
|
xAxis:
|
||||||
|
{';
|
||||||
|
|
||||||
|
$first=true;
|
||||||
|
foreach($data_list as $obj)
|
||||||
|
{
|
||||||
|
if($first==false)
|
||||||
|
echo ',';
|
||||||
|
|
||||||
|
echo 'data:[';
|
||||||
|
|
||||||
|
$col_first=true;
|
||||||
|
foreach($obj->cols as $cols_name)
|
||||||
|
{
|
||||||
|
if($col_first==false)
|
||||||
|
echo ',';
|
||||||
|
|
||||||
|
echo '"'.$cols_name.'"';
|
||||||
|
|
||||||
|
$col_first=false;
|
||||||
|
}
|
||||||
|
|
||||||
|
echo ']';
|
||||||
|
$first=false;
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '},
|
||||||
|
yAxis:{},
|
||||||
|
|
||||||
|
series:[';
|
||||||
|
|
||||||
|
$first=true;
|
||||||
|
foreach($data_list as $obj)
|
||||||
|
{
|
||||||
|
if($first==false)
|
||||||
|
echo ',';
|
||||||
|
|
||||||
|
echo '{';
|
||||||
|
|
||||||
|
echo 'name: "'.$obj->name.'",';
|
||||||
|
echo 'type: "'.$this->type.'",';
|
||||||
|
|
||||||
|
echo 'data:[';
|
||||||
|
|
||||||
|
$col_first=true;
|
||||||
|
foreach($obj->value as $value)
|
||||||
|
{
|
||||||
|
if($col_first==false)
|
||||||
|
echo ',';
|
||||||
|
|
||||||
|
echo $value;
|
||||||
|
|
||||||
|
$col_first=false;
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '}';
|
||||||
|
$first=false;
|
||||||
|
}
|
||||||
|
|
||||||
|
echo ']
|
||||||
|
};
|
||||||
|
|
||||||
|
myChart.setOption(option);
|
||||||
|
</script>';
|
||||||
|
}
|
||||||
|
};//class Chart
|
@ -19,6 +19,11 @@
|
|||||||
echo '<script src="3rdpty/bootstrap/js/bootstrap.js"></script>';
|
echo '<script src="3rdpty/bootstrap/js/bootstrap.js"></script>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function include_echarts()
|
||||||
|
{
|
||||||
|
echo '<script src="3rdpty/echarts.js"></script>';
|
||||||
|
}
|
||||||
|
|
||||||
function echo_html_header($title)
|
function echo_html_header($title)
|
||||||
{
|
{
|
||||||
echo '<html>
|
echo '<html>
|
||||||
@ -31,6 +36,7 @@
|
|||||||
include_jquery();
|
include_jquery();
|
||||||
include_font_awesome();
|
include_font_awesome();
|
||||||
include_bootstrap();
|
include_bootstrap();
|
||||||
|
include_echarts();
|
||||||
|
|
||||||
echo '</head><body>';
|
echo '</head><body>';
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user