首页 > 代码库 > Echarts php报表类

Echarts php报表类

<?php
/**
 * Echarts 报表类
 * @author 齐福
 * 2017年3月3日 上午11:44:30
 * api 解释需要结合 2.0 和 3.0 因为2.0有的东西  3.0大部分不会出现例如 title 属性 3.0就没有说明
 * 2.0 http://echarts.baidu.com/echarts2/doc/doc.html
 * 3.0 http://echarts.baidu.com/api.html#echarts 
 * @version 1.0
 */
class Echarts
{
	/**
	 * 标题 
	 * @var array("text"=>"报表");
	 */
	var $title = array("text"=>"报表");//报表标题
	/**
	 * 显示提示框
	 * @var array("trigger"=>"axis");
	 */
	var $tooltip = array("trigger"=>"axis");
	/**
	 * 报表图例  一个图例对应个  串联 (series)
	 */
	var $legend = array();
	/**
	 * grid组件 可以有多个 并且有各种控制宽高间距的属性
	 */
	var $grid = array();
	var $xAxis = array();
	/**
	 * y轴 设置成type value则 随着 series data 变化而变化
	 */
	var $yAxis = array("type"=>"value");
	var $series = array();
	var $toolbox = array();
    function get_option(){
    	$vars = get_class_vars("Echarts");
    	$option = array();
    	foreach ($vars as $k=>$v){
    			$option[$k] = $this->$k;
    	}
     	return $option; 
    }
    
}
class Title{
	/**
	 * 显示策略
	 */
	var $show = true;
	/**
	 * 标题显示文字
	 */
	var $text = ‘‘;
	/**
	 * 副标题
	 */
	var $subtext = ‘‘;
	function set_title($v) {
		foreach ($v as $k=>$v){
			$this->$k = $v;
		}
	}
}
class Legend{
	var $data = http://www.mamicode.com/array();"right";
	/**
	 * 垂直安放位置
	 * 可选为:‘top‘ | ‘bottom‘ | ‘center‘ | {number}(y坐标,单位px)
	 */
	var $y = "top";
	/**
	 * 工具箱内边距
	 * 配合 x y 使用 
	 */
	var $padding = array(5,100);
	function __construct(){
		$this->feature = new Feature();
	}
}
class Feature{
	/**
	 * 辅助线标志
	 */
	var $mark =array("show"=>false);
	/**
	 * 框选区域缩放
	 */
	var $dataZoom = array("show"=>false);
	/**
	 * 数据视图
	 */
	var $dataView = array("show"=>false);
	/**
	 * 动态类型切换 
	 * type [‘line‘, ‘bar‘, ‘stack‘, ‘tiled‘, ‘force‘, ‘chord‘, ‘pie‘, ‘funnel‘]
	 * line 折线图
	 * bar 柱状图
	 * stack 堆积图
	 * tiled 平铺转换
	 * force 力导向布局图
	 * chord 弦图
	 * pie 饼图
	 * funnel 漏斗图
	 */
	var $magicType = array("show"=>false);
	/**
	 * 还原
	 */
	var $restore = array("show"=>false);
	/**
	 * 保存图片
	 */
	var $saveAsImage = array("show"=>false);
}

//注 报表必须具备 三个属性  xAxis yAxis 和  series
/* $c = new Echarts();
//$v = array("type"=>‘1‘,‘data‘=>array(‘周一‘,‘周二‘));
//$x =new XAxis($v);
//$c->set_xAxis($x);
//$c->add_xAxis($v);
 $xa  = new XAxis();
 $xa->position = ‘top‘;
 $xa->data = http://www.mamicode.com/array("2010-1-2","2010-1-3");
 $c->add_xAxis($xa);
//$xax = $c->xAxis;
$grid = new Grid();
$c->set_grid($grid);
$ya = new YAxis();
$ya->data = http://www.mamicode.com/array("123","223");
$ya->type = "value";
$c->add_yAxis($ya);

$ser = new Series();
$ser->type = ‘line‘;
$ser->data = http://www.mamicode.com/array("123","223");
$c->set_series($ser);


echo print_r(json_encode($c->get_option()),true); */


?>

  例如 title 属性 可以通过 title 类的  set_title 扩展属性  
title加链接
$title = new Title();

$title->set_title(array("link"=>"url"));

Echarts php报表类