Layer+Echarts構建彈出層折線圖的方法
layer是一款口碑極佳的web彈層組件,她具備全方位的解決方案,致力于服務各個水平段的開發(fā)人員,您的頁面會輕松地擁有豐富而友好的操作體驗。
在中國可視化生態(tài)系統(tǒng)中,ECharts 通過提供方便豐富的可視化圖表,極大縮短了用戶與數(shù)據(jù)的距離。個人認為是最好用的可用來生成圖表的插件。
現(xiàn)在使用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:['郵件營銷','聯(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]
}
]
};
// 使用剛指定的配置項和數(shù)據(jù)顯示圖表。
myChart.setOption(option);
//彈出一個頁面層
$('#test2').on('click', function() {
layer.open({
title:'hello world',
type: 1,
shade: false,
area: ['620px', '460px'],
shadeClose: false, //點擊遮罩關閉
content: $("#speedChart")
});
});
</script>
預覽
當然以上是靜態(tài)加載,我們平常使用最多的是異步加載,修改一下代碼即可:
<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: []
};
//按鈕提交表單數(shù)據(jù)
$("#subSpeed").click(function(){
// 基于準備好的dom,初始化echarts實例
var myChart = echarts.init(document.getElementById('speedChartMain'));
// 使用剛指定的配置項和數(shù)據(jù)顯示圖表。
myChart.setOption(option);
var url=$("#speedFrom").attr("action");
var times=[]; //時間數(shù)組(實際用來盛放X軸坐標值)
var speeds=[]; //速度數(shù)組(實際用來盛放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中l(wèi)egend和 XAxis的data,series 為空,所以現(xiàn)在將數(shù)據(jù)填充進去
myChart.setOption({ //加載數(shù)據(jù)圖表
legend: {
data:[$("#roads").val()]
},
xAxis: {
data: times
},
series: [{
// 根據(jù)名字對應到相應的系列
name: $("#roads").val(),
type:'line',
data: speeds
}]
});
}
layer.open({
title:'折線圖',
type: 1,
shade: false,
area: ['620px', '460px'],
shadeClose: true, //點擊遮罩關閉
content: $("#speedChart")
});
},"json");
});
});
以上這篇Layer+Echarts構建彈出層折線圖的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- 微信小程序使用echarts獲取數(shù)據(jù)并生成折線圖
- 使用laravel和ECharts實現(xiàn)折線圖效果的例子
- echarts多條折線圖動態(tài)分層的實現(xiàn)方法
- Echarts動態(tài)加載多條折線圖的實現(xiàn)代碼
- 基于mpvue小程序使用echarts畫折線圖的方法示例
- vue+echarts實現(xiàn)可拖動節(jié)點的折線圖(支持拖動方向和上下限的設置)
- Echarts教程之通過Ajax實現(xiàn)動態(tài)加載折線圖的方法
- jQuery插件echarts實現(xiàn)的單折線圖效果示例【附demo源碼下載】
- jQuery插件echarts實現(xiàn)的多折線圖效果示例【附demo源碼下載】
- jQuery插件echarts設置折線圖中折線線條顏色和折線點顏色的方法
- echarts實現(xiàn)折線圖的拖拽效果
相關文章
微信小程序中限制激勵式視頻廣告位顯示次數(shù)(實現(xiàn)思路)
本文給大家分享微信小程序中限制激勵式視頻廣告位顯示次數(shù),本文通過實例代碼來說明,感興趣的朋友跟隨小編一起看看吧2019-12-12
手機端圖片縮放旋轉全屏查看PhotoSwipe.js插件實現(xiàn)
這篇文章主要介紹了手機端圖片縮放旋轉全屏查看PhotoSwipe.js插件實現(xiàn),感興趣的小伙伴們可以參考一下2016-08-08
JavaScript統(tǒng)計數(shù)組中相同的數(shù)量的方法總結
在JavaScript中,我們經常需要對數(shù)組中對象的屬性進行統(tǒng)計。在本文中,我們將介紹如何使用JavaScript來實現(xiàn)這一功能,文中有詳細的代碼示例,需要的朋友可以借鑒參考2023-05-05

