我们想绘制什么类型图表,可以在百度官方示例中找。然后参考写就objk了。
示例链接地址:
http://echarts.baidu.com/examples/
贴下图表示例:
一、引入echarts的JS文件
#这个是百度的csdn
<script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script>
二、html代码
#这个div中就是包裹着图表,而且dailyChart这个是定义div的高度和宽度
<div id="dailyChart" class="dailyChart">
</div>
三、后台拼接好要显示的多条折线条数据,大概代码
foreach ( $this->targetMap as $k=>$v ) {
$seriesAllSum[] = ['name'=>$v.'累计用户','type'=>'line','data'=>$daily['all_num_'.$k],'smooth'=>true];
$seriesActiveNum[] = ['name'=>$v.'月活用户','type'=>'line','data'=>$daily['month_active_num_'.$k],'smooth'=>true];
}
$this->response['data'] = ['legend_all_sum'=>$legendAllSum,'legend_active_num'=>$legendActiveNum,'xAxis'=>$daily['xAxis'],'series_all_sum'=>$seriesAllSum,'series_active_num'=>$seriesActiveNum];
$this->ajaxReturn($this->response);
四、js代码显示后端数据
#这个ajax回调函数绘制
initDailyChart(json.data);
/**
* 加载以天为单位的新增用户数折线图
* @param {type} data 数据
*/
function initDailyChart(data) {
chart = echarts.init(document.getElementById('dailyChart'), 'light');
option = {
title: {
text: '累计用户数'
},
tooltip: {
trigger: 'axis'
},
legend: {
data: data.legend
},
toolbox: {
feature: {
saveAsImage: {}
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: [
{
type: 'category',
boundaryGap: false,
data: data.xAxis #橫坐标
}
],
yAxis: [
{
type: 'value'
}
],
series: data.series_all_sum #这个多条数据系列列表
};
chart.setOption(option,true); #注意,这个true参数,可以重新加载数据会重新绘制图表,否则不生效!
}