Layer+Echarts構(gòu)建彈出層折線圖的方法
layer是一款口碑極佳的web彈層組件,她具備全方位的解決方案,致力于服務(wù)各個(gè)水平段的開發(fā)人員,您的頁面會(huì)輕松地?fù)碛胸S富而友好的操作體驗(yàn)。
在中國可視化生態(tài)系統(tǒng)中,ECharts 通過提供方便豐富的可視化圖表,極大縮短了用戶與數(shù)據(jù)的距離。個(gè)人認(rèn)為是最好用的可用來生成圖表的插件。
現(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>
頁面內(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:['郵件營銷','聯(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:'郵件營銷',
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è)頁面層
$('#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í)際用來盛放X軸坐標(biāo)值)
var speeds=[]; //速度數(shù)組(實(shí)際用來盛放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)建彈出層折線圖的方法就是小編分享給大家的全部內(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)文章
微信小程序?qū)崿F(xiàn)虎年春節(jié)頭像制作
春節(jié)來臨之際,看到有網(wǎng)友分享了網(wǎng)頁版的虎年頭像制作工具。本文將為大家介紹一個(gè)虎年春節(jié)頭像制作小程序,文中的示例代碼講解詳細(xì),需要的可以參考一下2022-02-02
基于canvasJS在PHP中制作動(dòng)態(tài)圖表
這篇文章主要介紹了基于canvasJS在PHP中制作動(dòng)態(tài)圖表,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
寫了10年的Javascript也未必全了解的連續(xù)賦值運(yùn)算
很喜歡 蔡蔡 的這個(gè)標(biāo)題,實(shí)際蔡蔡已經(jīng)分析過了,這里借用了。或許有點(diǎn)標(biāo)題黨的意思??赐昃椭?。2011-03-03
Javascript中Math.max和Math.max.apply的區(qū)別和用法詳解
這篇文章主要介紹了Javascript中Math.max和Math.max.apply的區(qū)別和用法,本文給大家啊介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
Js自動(dòng)截取字符串長度,添加省略號(hào)(……)的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄狫s自動(dòng)截取字符串長度,添加省略號(hào)(……)的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03
js保留兩位小數(shù)最簡單的實(shí)現(xiàn)方法
JS數(shù)據(jù)格式化是在進(jìn)行web前端開發(fā)時(shí)常碰到的事情,特別是在數(shù)據(jù)類型為Float的數(shù)據(jù)就需要特殊處理,如保留兩位小數(shù)、小數(shù)點(diǎn)后的數(shù)據(jù)是否需要四舍五入等等,下面這篇文章主要給大家介紹了關(guān)于js保留兩位小數(shù)最簡單的實(shí)現(xiàn)方法,需要的朋友可以參考下2023-05-05

