图表组件是基于开源js图表库echarts生成图表的一个组件,通过该组件,可以生成各种美观的图表!
1、参数说明
参数 | 说明 | name | 组件名称,没有特殊要求,只需和页面其他图表名称不一致即可 | options | 图表参数,该参数结构和echarts图表参数结构完全一致!具体可参考echarts官方文档 | 2、由于echarts图表参数较多,对于初学者使用可能较为麻烦,进云系统针对对几个常用场景封装了非常方便的函数以供调用。下面分别介绍:
3、饼状图快速生成方法:
适用场景:统计数据来源于某一个数据表,并根据表中特定字段的值来区分不同情况,进而生成饼状图
使用函数:model('core/echart')->pie($params)
$params参数说明,无默认值表示必填项
参数 | 默认值 | 说明 | title
| '饼状图' | 图表名称 | tablename
|
| 统计数据来源数据表名 | field | 'status'
| 统计区分字段 | field_options
|
| 统计区分字段的选项数组,例如:array('1'=>'状态1','2'=>'状态2') | width
| '50%' | 饼状图宽度 | params | array('uniacid'=>$_SESSION['uniacid']) | 统计数据基本筛选条件 | sum_field | '' | 累加字段,如果声明该字段,计算比例时以该字段的累加值作为依据,否则以数据条数作为计算比例的依据 | 示例代码:
$commission_pie=array( 'title'=>'佣金概况', 'tablename'=>$this->tablename('commission'), 'width'=>'50%', 'field'=>'status', 'field_options'=>$this->commission_status, 'params'=>array('uniacid'=>$_SESSION['uniacid']),);$return['htmls'][]=model('core/echart')->pie($commission_pie);效果图:

4、折线图快速生成方法:
适用场景:统计数据来源于某一个数据表,表中某个字段保存的是时间戳(例如创建时间),需要根据该时间戳创建一个近一个月数据变化折线图。
使用函数:model('core/echart')->line($params)
$params参数说明,无默认值表示必填项
参数 | 默认值 | 说明 | title
| '折线图' | 图表名称 | y_title | '数量' | 纵轴名称 | data |
| 折线图数组,每条折线图一个元素,以折线图名称作为键名 | 折线图数组元素参数说明
参数 | 默认值 | 说明 | tablename |
| 数据来源表 | time_field | 'createtime' | 时间戳字段 | sum_field | '' | 累加字段,如果声明该字段,计算比例时以该字段的累加值作为依据,否则以数据条数作为计算比例的依据 | params
| array('uniacid'=>$_SESSION['uniacid']) | 默认筛选条件数组 | 示例代码:
$member_params=array( 'title'=>'近三十天会员/分销商增长走势', 'data'=>array( '会员增长'=>array( 'tablename'=>$this->tablename('member'), ), '分销商增长'=>array( 'tablename'=>$this->tablename('member'), 'params'=>array('uniacid'=>$_SESSION['uniacid'],'is_agent'=>1), 'time_field'=>'agenttime', ) ),);$return['htmls'][]=model('core/echart')->line($member_params);效果图:
 |