增加了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>';
|
||||
}
|
||||
|
||||
function include_echarts()
|
||||
{
|
||||
echo '<script src="3rdpty/echarts.js"></script>';
|
||||
}
|
||||
|
||||
function echo_html_header($title)
|
||||
{
|
||||
echo '<html>
|
||||
@ -31,6 +36,7 @@
|
||||
include_jquery();
|
||||
include_font_awesome();
|
||||
include_bootstrap();
|
||||
include_echarts();
|
||||
|
||||
echo '</head><body>';
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user