效果图

下载
从echarts的官网http://echarts.baidu.com/下载定制的echart.min.js的文件
把该文件导入app/assets/javascripts/admin/中,也可以直接导入app/assets/javascripts/中,我这边有个admin的目录,是因为这个echarts我只是用在admin后台中。
配置
为了预编译该文件,需要在config/initializers/assets.rb中配置该echarts.min.js
Rails.application.config.assets.precompile += %w( admin/echarts.min.js )
编写布局文件
这里需要注意的是,需要用javascript_include_tag把
echarts.min.js引入进来。统计图样式可以从echarts的官网上查看,然后把样式代码引入下来,替换数据就行了
<!-- prepare a DOM container with width and height -->
<div id="main" style="width: 100%;height:400px;background: yellow"></div>
<%= javascript_include_tag 'admin/echarts.min.js'%>
<script type="text/javascript">
// based on prepared DOM, initialize echarts instance
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '统计图'
},
tooltip : {
trigger: 'axis',
axisPointer: {
type: 'cross',
label: {
backgroundColor: '#6a7985'
}
}
},
legend: {
data:['邮件营销','联盟广告','视频广告','直接访问','搜索引擎']
},
toolbox: {
feature: {
saveAsImage: {}
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis : [
{
type : 'category',
boundaryGap : false,
data : ['周一','周二','周三','周四','周五','周六','周日']
}
],
yAxis : [
{
type : 'value'
}
],
series : [
{
name:'邮件营销',
type:'line',
stack: '总量',
areaStyle: {normal: {}},
data:[120, 132, 101, 134, 90, 230, 210]
},
{
name:'联盟广告',
type:'line',
stack: '总量',
areaStyle: {normal: {}},
data:[220, 182, 191, 234, 290, 330, 310]
},
{
name:'视频广告',
type:'line',
stack: '总量',
areaStyle: {normal: {}},
data:[150, 232, 201, 154, 190, 330, 410]
},
{
name:'直接访问',
type:'line',
stack: '总量',
areaStyle: {normal: {}},
data:[320, 332, 301, 334, 390, 330, 320]
},
{
name:'搜索引擎',
type:'line',
stack: '总量',
label: {
normal: {
show: true,
position: 'top'
}
},
areaStyle: {normal: {}},
data:[820, 932, 901, 934, 1290, 1330, 1320]
}
]
};
// use configuration item and data specified to show chart
myChart.setOption(option);
</script>
网友评论