Layer+Echarts構(gòu)建彈出層折線圖的方法
layer是一款口碑極佳的web彈層組件,她具備全方位的解決方案,致力于服務(wù)各個(gè)水平段的開發(fā)人員,您的頁(yè)面會(huì)輕松地?fù)碛胸S富而友好的操作體驗(yàn)。
在中國(guó)可視化生態(tài)系統(tǒng)中,ECharts 通過提供方便豐富的可視化圖表,極大縮短了用戶與數(shù)據(jù)的距離。個(gè)人認(rèn)為是最好用的可用來(lái)生成圖表的插件。
現(xiàn)在使用Layer和Echarts構(gòu)建彈出層折線圖。
下載好所需要用到的工具包,Echarts下載為echarts.min.js,Layer在layer官網(wǎng)下載之后將layer文件夾放到項(xiàng)目之中。
在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>
頁(yè)面內(nèi)容
<body> <button id="test2">Layer+Echarts構(gòu)建彈出層折線圖</button> <div id="speedChart" style="display: none;"> <!-- 為 ECharts 準(zhǔn)備一個(gè)具備大?。▽捀撸┑?DOM --> <div id="speedChartMain" style="width: 600px; height: 400px;"></div> </div> <div id="dfd"> <span>Layer+Echarts構(gòu)建彈出層折線圖</span> <p>Layer+Echarts構(gòu)建彈出層折線圖</p> </div> </body>
js腳本
<script type="text/javascript"> // 基于準(zhǔn)備好的dom,初始化echarts實(shí)例 var myChart = echarts.init(document.getElementById('speedChartMain')); option = { tooltip: { trigger: 'axis' }, legend: { data:['郵件營(yíng)銷','聯(lián)盟廣告','視頻廣告','直接訪問','搜索引擎'] }, grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true }, toolbox: { feature: { saveAsImage: {} } }, xAxis: { type: 'category', boundaryGap: false, data: ['周一','周二','周三','周四','周五','周六','周日'] }, yAxis: { type: 'value' }, series: [ { name:'郵件營(yíng)銷', type:'line', stack: '總量', data:[120, 132, 101, 134, 90, 230, 210] }, { name:'聯(lián)盟廣告', 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] } ] }; // 使用剛指定的配置項(xiàng)和數(shù)據(jù)顯示圖表。 myChart.setOption(option); //彈出一個(gè)頁(yè)面層 $('#test2').on('click', function() { layer.open({ title:'hello world', type: 1, shade: false, area: ['620px', '460px'], shadeClose: false, //點(diǎn)擊遮罩關(guān)閉 content: $("#speedChart") }); }); </script>
預(yù)覽
當(dāng)然以上是靜態(tài)加載,我們平常使用最多的是異步加載,修改一下代碼即可:
<div id="speedChart" style="display: none;"> <!-- 為 ECharts 準(zhǔn)備一個(gè)具備大?。▽捀撸┑?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: [] }; //按鈕提交表單數(shù)據(jù) $("#subSpeed").click(function(){ // 基于準(zhǔn)備好的dom,初始化echarts實(shí)例 var myChart = echarts.init(document.getElementById('speedChartMain')); // 使用剛指定的配置項(xiàng)和數(shù)據(jù)顯示圖表。 myChart.setOption(option); var url=$("#speedFrom").attr("action"); var times=[]; //時(shí)間數(shù)組(實(shí)際用來(lái)盛放X軸坐標(biāo)值) var speeds=[]; //速度數(shù)組(實(shí)際用來(lái)盛放Y坐標(biāo)值) $.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中l(wèi)egend和 XAxis的data,series 為空,所以現(xiàn)在將數(shù)據(jù)填充進(jìn)去 myChart.setOption({ //加載數(shù)據(jù)圖表 legend: { data:[$("#roads").val()] }, xAxis: { data: times }, series: [{ // 根據(jù)名字對(duì)應(yīng)到相應(yīng)的系列 name: $("#roads").val(), type:'line', data: speeds }] }); } layer.open({ title:'折線圖', type: 1, shade: false, area: ['620px', '460px'], shadeClose: true, //點(diǎn)擊遮罩關(guān)閉 content: $("#speedChart") }); },"json"); }); });
以上這篇Layer+Echarts構(gòu)建彈出層折線圖的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 微信小程序使用echarts獲取數(shù)據(jù)并生成折線圖
- 使用laravel和ECharts實(shí)現(xiàn)折線圖效果的例子
- echarts多條折線圖動(dòng)態(tài)分層的實(shí)現(xiàn)方法
- Echarts動(dòng)態(tài)加載多條折線圖的實(shí)現(xiàn)代碼
- 基于mpvue小程序使用echarts畫折線圖的方法示例
- vue+echarts實(shí)現(xiàn)可拖動(dòng)節(jié)點(diǎn)的折線圖(支持拖動(dòng)方向和上下限的設(shè)置)
- Echarts教程之通過Ajax實(shí)現(xiàn)動(dòng)態(tài)加載折線圖的方法
- jQuery插件echarts實(shí)現(xiàn)的單折線圖效果示例【附demo源碼下載】
- jQuery插件echarts實(shí)現(xiàn)的多折線圖效果示例【附demo源碼下載】
- jQuery插件echarts設(shè)置折線圖中折線線條顏色和折線點(diǎn)顏色的方法
- echarts實(shí)現(xiàn)折線圖的拖拽效果
相關(guān)文章
微信小程序中限制激勵(lì)式視頻廣告位顯示次數(shù)(實(shí)現(xiàn)思路)
本文給大家分享微信小程序中限制激勵(lì)式視頻廣告位顯示次數(shù),本文通過實(shí)例代碼來(lái)說(shuō)明,感興趣的朋友跟隨小編一起看看吧2019-12-12手機(jī)端圖片縮放旋轉(zhuǎn)全屏查看PhotoSwipe.js插件實(shí)現(xiàn)
這篇文章主要介紹了手機(jī)端圖片縮放旋轉(zhuǎn)全屏查看PhotoSwipe.js插件實(shí)現(xiàn),感興趣的小伙伴們可以參考一下2016-08-08有效提高JavaScript執(zhí)行效率的幾點(diǎn)知識(shí)
這篇文章主要介紹了有效提高JavaScript執(zhí)行效率的幾點(diǎn)知識(shí),本文從JavaScript函數(shù)、JavaScript作用域、JavaScript字符串、JavaScript DOM操作、DOM重繪、DOM訪問、DOM遍歷等方面講解了提高JavaScript執(zhí)行效率的小技巧,需要的朋友可以參考下2015-01-01JavaScript實(shí)現(xiàn)三階幻方算法謎題解答
這篇文章主要介紹了JavaScript實(shí)現(xiàn)三階幻方算法謎題解答,三階幻方是指試將1~9這9個(gè)不同整數(shù)填入一個(gè)3×3的表格,使得每行、每列以及每條對(duì)角線上的數(shù)字之和相同,需要的朋友可以參考下2014-12-12uni-app動(dòng)態(tài)修改導(dǎo)航欄標(biāo)題簡(jiǎn)單步驟
uniapp作為一款開源軟件,可以做到一端多用,不過也有局限,在開發(fā)中有時(shí)候需要?jiǎng)討B(tài)的去修改標(biāo)題,下面這篇文章主要給大家介紹了關(guān)于uni-app動(dòng)態(tài)修改導(dǎo)航欄標(biāo)題的相關(guān)資料,需要的朋友可以參考下2023-06-06Bootstrap菜單按鈕及導(dǎo)航實(shí)例解析
這篇文章主要介紹了Bootstrap菜單按鈕及導(dǎo)航的相關(guān)資料,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-09-09JavaScript統(tǒng)計(jì)數(shù)組中相同的數(shù)量的方法總結(jié)
在JavaScript中,我們經(jīng)常需要對(duì)數(shù)組中對(duì)象的屬性進(jìn)行統(tǒng)計(jì)。在本文中,我們將介紹如何使用JavaScript來(lái)實(shí)現(xiàn)這一功能,文中有詳細(xì)的代碼示例,需要的朋友可以借鑒參考2023-05-05