echarts同一頁(yè)面中四個(gè)圖表切換的js數(shù)據(jù)交互方法示例
需求:
點(diǎn)擊tab頁(yè),切換四個(gè)不同的圖表,ajax向后臺(tái)請(qǐng)求數(shù)據(jù),展示在四個(gè)不同的圖表中。

其余的就不多說(shuō),直接上js代碼了
示例代碼:
$(function() {
$("#heart").on("click", function() {
$('.heart-car').show();
$('.sleep-car').hide();
$('.breathe-car').hide();
$('.sport-car').hide();
});
$("#breathe").on("click", function() {
$('.heart-car').hide();
$('.sleep-car').hide();
$('.breathe-car').show();
$('.sport-car').hide();
});
$("#sport").on("click", function() {
$('.heart-car').hide();
$('.sleep-car').hide();
$('.breathe-car').hide();
$('.sport-car').show();
});
$("#sleep").on("click", function() {
$('.heart-car').hide();
$('.sleep-car').show();
$('.breathe-car').hide();
$('.sport-car').hide();
});
/* 第一個(gè)圖表 */
var aChart = echarts.init(document.getElementById("main"));
function aFun(x_data, y_data) {
aChart.setOption({
title: {
text: '睡眠質(zhì)量監(jiān)測(cè)'
},
tooltip: {
trigger: 'axis'
},
xAxis: {
data: x_data
},
yAxis: {
splitLine: {
show: false
}
},
toolbox: {
left: 'center',
feature: {
dataZoom: {
yAxisIndex: 'none'
},
restore: {},
saveAsImage: {}
}
},
dataZoom: [{
startValue: '2014-06-01'
}, {
type: 'inside'
}],
visualMap: {
top: 10,
right: 10,
pieces: [ {
gt: 0,
lte: 1,
color: '#ffde33'
}, {
gt: 1,
lte: 2,
color: '#ff9933'
}, {
gt: 2,
lte: 3,
color: '#cc0033'
}, {
gt: 3,
lte: 4,
color: '#660099'
}],
outOfRange: {
color: '#999'
}
},
series: {
name: '睡眠',
type: 'line',
data: y_data,
markLine: {
silent: true,
data: [{
yAxis: 0
}, {
yAxis: 1
}, {
yAxis: 2
}, {
yAxis: 3
}, {
yAxis: 4
}]
}
}
});
}
/* 第二個(gè)圖表 */
// 折線圖
var bChart = echarts.init(document.getElementById("main2"));
function bFun(x_data, y_data) {
bChart.setOption({
color : [ '#3398DB' ],
tooltip : {
trigger : 'axis',
axisPointer : { // 坐標(biāo)軸指示器,坐標(biāo)軸觸發(fā)有效
type : 'shadow' // 默認(rèn)為直線,可選為:'line' | 'shadow'
}
},
legend : {
data : [ '心率值' ]
},
grid : {
left : '3%',
right : '20%',
bottom : '20%',
containLabel : true
},
xAxis : [ {
type : 'category',
data : x_data,
} ],
yAxis : [ { // 縱軸標(biāo)尺固定
type : 'value',
scale : true,
name : '心率值',
max : 140,
min : 0,
splitNumber : 20,
boundaryGap : [ 0.2, 0.2 ]
} ],
series : [ {
name : '心率',
type : 'line',
data : y_data
} ]
}, true);
}
/* 第三個(gè)圖表 */
// 折線圖
var cChart = echarts.init(document.getElementById("main3"));
function cFun(x_data, y_data) {
cChart.setOption({
color : [ '#3398DB' ],
tooltip : {
trigger : 'axis',
axisPointer : { // 坐標(biāo)軸指示器,坐標(biāo)軸觸發(fā)有效
type : 'shadow' // 默認(rèn)為直線,可選為:'line' | 'shadow'
}
},
legend : {
data : [ '呼吸值' ]
},
grid : {
left : '3%',
right : '20%',
bottom : '20%',
containLabel : true
},
xAxis : [ {
type : 'category',
data : x_data,
} ],
yAxis : [ { // 縱軸標(biāo)尺固定
type : 'value',
scale : true,
name : '呼吸值',
max : 50,
min : 0,
splitNumber : 20,
boundaryGap : [ 0.2, 0.2 ]
} ],
series : [ {
name : '呼吸',
type : 'line',
data : y_data
} ]
}, true);
}
/* 第四個(gè)圖表 */
// 基于準(zhǔn)備好的dom,初始化echarts實(shí)例
var dChart = echarts.init(document.getElementById('main4'));
// 指定圖表的配置項(xiàng)和數(shù)據(jù)
function dFun(data) {
dChart.setOption({
tooltip: {
/*返回需要的信息*/
formatter: function(param) {
var value = param.value;
return '<div style="border-bottom: 1px solid rgba(255,255,255,.3); font-size: 16px;padding-bottom: 7px;margin-bottom: 7px;"> ' + value[0] + " 翻身"
'</div>';
}
},
xAxis: {
show : false,
type: 'time',
name: '時(shí)間軸',
},
yAxis: {
type: 'value',
name: '翻身',
max: 9,
min: 0,
},
series: [{
name: '',
data: data,
type: 'scatter',
symbolSize: 40
}]
});
}
$.ajax({
url : "/bison/stats/mattess/getDetail?id=" + $("#sid").val(),
async : false,
type : 'GET',
dataType : 'json',
success : function(data) {
var status = data.returnData.status;
status.echatX == ''?aFun("[]","[]"):aFun(status.echatX,status.echatY);
var hb = data.returnData.heartBreath;
if(hb.echatX == ''){
bFun("[]","[]");
cFun("[]","[]");
}else{
bFun(hb.echatX, hb.echatY);
cFun(hb.echatX, hb.echatY2);
}
var move = data.returnData.move;
dFun(move);
},
});
})
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- 簡(jiǎn)單實(shí)現(xiàn)js頁(yè)面切換功能
- js實(shí)現(xiàn)的鼠標(biāo)滾輪滾動(dòng)切換頁(yè)面效果(類似360默認(rèn)頁(yè)面滾動(dòng)切換效果)
- js實(shí)現(xiàn)單一html頁(yè)面兩套css切換代碼
- 基于JS實(shí)現(xiàn)翻書效果的頁(yè)面切換樣式
- 使用AngularJS實(shí)現(xiàn)可伸縮的頁(yè)面切換的方法
- javascript單頁(yè)面手勢(shì)滑屏切換原理詳解
- JavaScript實(shí)現(xiàn)鼠標(biāo)滾輪控制頁(yè)面圖片切換功能示例
- jQuery實(shí)現(xiàn)切換頁(yè)面過(guò)渡動(dòng)畫效果
- jquery結(jié)合html實(shí)現(xiàn)中英文頁(yè)面切換
- JavaScript/jQuery實(shí)現(xiàn)切換頁(yè)面效果
相關(guān)文章
javascript 中事件冒泡和事件捕獲機(jī)制的詳解
這篇文章主要介紹了javascript 中事件冒泡和事件捕獲機(jī)制的詳解的相關(guān)資料,網(wǎng)上的相關(guān)資料有很多,但是講的不是多清楚,通過(guò)本文希望能讓大家理解掌握,需要的朋友可以參考下2017-09-09
JS實(shí)現(xiàn)切換標(biāo)簽頁(yè)效果實(shí)例代碼
這篇文章介紹了JS實(shí)現(xiàn)切換標(biāo)簽頁(yè)效果實(shí)例代碼,有需要的朋友可以參考一下2013-11-11
直接拿來(lái)用的頁(yè)面跳轉(zhuǎn)進(jìn)度條JS實(shí)現(xiàn)
這篇文章主要為大家分享了一款直接拿來(lái)用的頁(yè)面跳轉(zhuǎn)進(jìn)度條,由javascript實(shí)現(xiàn),可以直接跳轉(zhuǎn)到相應(yīng)頁(yè)面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-01-01
JavaScript統(tǒng)計(jì)網(wǎng)站訪問(wèn)次數(shù)的實(shí)現(xiàn)代碼
每一個(gè)稱職的網(wǎng)管,都需要知道每天網(wǎng)站的訪問(wèn)量,需要實(shí)現(xiàn)網(wǎng)站訪問(wèn)次數(shù)功能來(lái)滿足需求,本篇文章主要介紹了JavaScript統(tǒng)計(jì)網(wǎng)站訪問(wèn)次數(shù)的實(shí)現(xiàn)代碼,感興趣的小伙伴們可以參考一下2015-11-11
用javascript讀取xml文件讀取節(jié)點(diǎn)數(shù)據(jù)
這篇文章主要介紹了用javascript讀取xml文件讀取節(jié)點(diǎn)數(shù)據(jù)的具體實(shí)現(xiàn),需要的朋友可以參考下2014-08-08
js實(shí)現(xiàn)的類marquee水平循環(huán)滾動(dòng)
marquee (水平)循環(huán)滾動(dòng)的js實(shí)現(xiàn) ,需要的朋友可以參考下。2010-03-03
js/jQuery對(duì)象互轉(zhuǎn)(快速操作dom元素)
在操作js或者jquery方面相關(guān)的元素時(shí),可能會(huì)力不從心,因?yàn)樵谑褂梅椒〞r(shí)可能js的會(huì)更好一點(diǎn)又或者jquery的會(huì)更好一點(diǎn),真是無(wú)從選擇啊,接下來(lái)將介紹JS/jQuery對(duì)象互轉(zhuǎn)實(shí)現(xiàn),方便你快速操作dom元素,感興趣的朋友可以了解下啊2013-02-02
JavaScript實(shí)現(xiàn)瀑布流布局的代碼分享
不知道大家在線上購(gòu)物的時(shí)候有沒(méi)有發(fā)現(xiàn)到,自己逛起來(lái)根本就停不下來(lái),越往下翻越是覺得就會(huì)出現(xiàn)需要的東西,這就是很多電商公司都在使用的瀑布流布局。本文就來(lái)用JS實(shí)現(xiàn)這一布局,需要的可以參考一下2023-04-04
js實(shí)現(xiàn)貪吃蛇游戲(簡(jiǎn)易版)
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)貪吃蛇游戲簡(jiǎn)易版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09

