Layer+Echarts构建弹出层折线图的方法

layer是一款口碑极佳的web弹层组件,她具备全方位的解决方案,致力于服务各个水平段的开发人员,您的页面会轻松地拥有丰富而友好的操作体验。

在中国可视化生态系统中,ECharts 通过提供方便丰富的可视化图表,极大缩短了用户与数据的距离。个人认为是最好用的可用来生成图表的插件。

现在使用Layer和Echarts构建弹出层折线图。

下载好所需要用到的工具包,Echarts下载为echarts.min.js,Layer在layer官网下载之后将layer文件夹放到项目之中。

在HTML文件中引入

<script src="js/jquery-1.11.1.min.js"></script>

<!-- 你必须先引入jQuery1.8或以上版本 -->

<script src="js/layer/layer.js"></script>

<script src="js/bootstrap.min.js"></script>

<!-- 引入 ECharts 文件 -->

<script src="js/echarts.min.js"></script>

页面内容

<body>

<button id="test2">Layer+Echarts构建弹出层折线图</button>

<div id="speedChart" style="display: none;">

<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->

<div id="speedChartMain" style="width: 600px; height: 400px;"></div>

</div>

<div id="dfd">

<span>Layer+Echarts构建弹出层折线图</span>

<p>Layer+Echarts构建弹出层折线图</p>

</div>

</body>

js脚本

<script type="text/javascript">

// 基于准备好的dom,初始化echarts实例

var myChart = echarts.init(document.getElementById('speedChartMain'));

option = {

tooltip: {

trigger: 'axis'

},

legend: {

data:['邮件营销','联盟广告','视频广告','直接访问','搜索引擎']

},

grid: {

left: '3%',

right: '4%',

bottom: '3%',

containLabel: true

},

toolbox: {

feature: {

saveAsImage: {}

}

},

xAxis: {

type: 'category',

boundaryGap: false,

data: ['周一','周二','周三','周四','周五','周六','周日']

},

yAxis: {

type: 'value'

},

series: [

{

name:'邮件营销',

type:'line',

stack: '总量',

data:[120, 132, 101, 134, 90, 230, 210]

},

{

name:'联盟广告',

type:'line',

stack: '总量',

data:[220, 182, 191, 234, 290, 330, 310]

},

{

name:'视频广告',

type:'line',

stack: '总量',

data:[150, 232, 201, 154, 190, 330, 410]

},

{

name:'直接访问',

type:'line',

stack: '总量',

data:[320, 332, 301, 334, 390, 330, 320]

},

{

name:'搜索引擎',

type:'line',

stack: '总量',

data:[820, 932, 901, 934, 1290, 1330, 1320]

}

]

};

// 使用刚指定的配置项和数据显示图表。

myChart.setOption(option);

//弹出一个页面层

$('#test2').on('click', function() {

layer.open({

title:'hello world',

type: 1,

shade: false,

area: ['620px', '460px'],

shadeClose: false, //点击遮罩关闭

content: $("#speedChart")

});

});

</script>

预览

当然以上是静态加载,我们平常使用最多的是异步加载,修改一下代码即可:

<div id="speedChart" style="display: none;">

<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->

<div id="speedChartMain" style="width: 600px; height: 400px;"></div>

</div>

$(document).ready(function() {

option = {

tooltip: {

trigger: 'axis'

},

legend: {

data:[]

},

grid: {

left: '3%',

right: '4%',

bottom: '3%',

containLabel: true

},

toolbox: {

feature: {

saveAsImage: {}

}

},

xAxis: {

type: 'category',

boundaryGap: false,

data: []

},

yAxis: {

type: 'value'

},

series: []

};

//按钮提交表单数据

$("#subSpeed").click(function(){

// 基于准备好的dom,初始化echarts实例

var myChart = echarts.init(document.getElementById('speedChartMain'));

// 使用刚指定的配置项和数据显示图表。

myChart.setOption(option);

var url=$("#speedFrom").attr("action");

var times=[]; //時間数组(实际用来盛放X轴坐标值)

var speeds=[]; //速度数组(实际用来盛放Y坐标值)

$.post(url,$("#speedFrom").serialize(),

function(data, status){

if(data!=null){

for (var i = 0; i < data.length; i++) {

times.push(data[i].timeStamp);

speeds.push(data[i].speed);

}

//之前option中legend和 XAxis的data,series 为空,所以现在将数据填充进去

myChart.setOption({ //加载数据图表

legend: {

data:[$("#roads").val()]

},

xAxis: {

data: times

},

series: [{

// 根据名字对应到相应的系列

name: $("#roads").val(),

type:'line',

data: speeds

}]

});

}

layer.open({

title:'折线图',

type: 1,

shade: false,

area: ['620px', '460px'],

shadeClose: true, //点击遮罩关闭

content: $("#speedChart")

});

},"json");

});

});

以上这篇Layer+Echarts构建弹出层折线图的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是 Layer+Echarts构建弹出层折线图的方法 的全部内容, 来源链接: utcz.com/z/323587.html

回到顶部