鍍金池/ 問答/Java  HTML/ vue使用echarts有沒有點(diǎn)擊文字或圖實(shí)現(xiàn)折疊面板效果的功能?

vue使用echarts有沒有點(diǎn)擊文字或圖實(shí)現(xiàn)折疊面板效果的功能?

如圖點(diǎn)擊基裝或后面的紅色條塊顯示下面的兩條數(shù)據(jù),再次點(diǎn)擊隱藏。
如果有請(qǐng)給個(gè)方法的鏈接,如果沒有請(qǐng)指導(dǎo)怎么實(shí)現(xiàn),謝謝!(· v ·)Y
圖片描述

回答
編輯回答
我甘愿

給chart添加click事件

var toggle = false
myChart.on('click', chartClick)

//點(diǎn)擊柱狀圖
function chartClick(param) {
    if (param.name == '總費(fèi)用' && !toggle) {
        option.series[1]['data'] = [arr[0]] //只顯示第一條數(shù)據(jù)
        toggle = !toggle
    } else if (param.name == '總費(fèi)用' && toggle) {
        option.series[1]['data'] = arr //再次點(diǎn)擊顯示所有
         toggle = !toggle
    }
    myChart.setOption(option)
}

完整示例

var arr = [2900, 1200, 300, 200, 900, 300];
option = {
    title: {
        text: '深圳月最低生活費(fèi)組成(單位:元)',
        subtext: 'From ExcelHome',
        sublink: 'http://e.weibo.com/1341556070/AjQH99che'
    },
    tooltip : {
        trigger: 'axis',
        axisPointer : {            // 坐標(biāo)軸指示器,坐標(biāo)軸觸發(fā)有效
            type : 'shadow'        // 默認(rèn)為直線,可選為:'line' | 'shadow'
        },
        formatter: function (params) {
            var tar = params[1];
            return tar.name + '<br/>' + tar.seriesName + ' : ' + tar.value;
        }
    },
    grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
    },
    xAxis: {
        type : 'category',
        splitLine: {show:false},
        data : ['總費(fèi)用','房租','水電費(fèi)','交通費(fèi)','伙食費(fèi)','日用品數(shù)']
    },
    yAxis: {
        type : 'value'
    },
    series: [
        {
            name: '輔助',
            type: 'bar',
            stack:  '總量',
            itemStyle: {
                normal: {
                    barBorderColor: 'rgba(0,0,0,0)',
                    color: 'rgba(0,0,0,0)'
                },
                emphasis: {
                    barBorderColor: 'rgba(0,0,0,0)',
                    color: 'rgba(0,0,0,0)'
                }
            },
            data: [0, 1700, 1400, 1200, 300, 0]
        },
        {
            name: '生活費(fèi)',
            type: 'bar',
            stack: '總量',
            label: {
                normal: {
                    show: true,
                    position: 'inside'
                }
            },
            data: arr
        }
    ]
};
myChart.setOption(option)


var toggle = false
myChart.on('click', chartClick)

//點(diǎn)擊柱狀圖
function chartClick(param) {
    if (param.name == '總費(fèi)用' && !toggle) {
        option.series[1]['data'] = [arr[0]] //只顯示第一條數(shù)據(jù)
        toggle = !toggle
    } else if (param.name == '總費(fèi)用' && toggle) {
        option.series[1]['data'] = arr //再次點(diǎn)擊顯示所有
         toggle = !toggle
    }
    myChart.setOption(option)
}
2017年3月26日 09:48