千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 详解Echarts堆叠图

详解Echarts堆叠图

来源:千锋教育
发布人:xqq
时间: 2023-11-22 06:39:08 1700606348

一、堆叠图基本介绍

Echarts是百度开源的一个基于JavaScript的数据可视化库,拥有丰富的图表类型和可扩展性,堆叠图是其中的一种图表类型。堆叠图能够将多个系列的数据堆叠起来,形成一个整体。

堆叠图的特点是:同一类别的数据在图中会被一起堆叠,每个数据点的值都被分成了若干部分,每个部分代表该数据点属于哪个系列,每个数据点所有部分的和表示该类别的总数。堆叠图也可以通过设置offset属性来进行堆叠条形图或者堆叠面积图等。

下面是一个简单的堆叠图的示例代码:

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '堆叠图示例'
    },
    tooltip: {
        trigger: 'axis',
        axisPointer: {
            type: 'cross',
            label: {
                backgroundColor: '#6a7985'
            }
        }
    },
    legend: {
        data:['邮件营销','联盟广告','视频广告']
    },
    toolbox: {
        feature: {
            saveAsImage: {}
        }
    },
    grid: {
        containLabel: true
    },
    xAxis: {
        type: 'category',
        boundaryGap: false,
        data: ['周一','周二','周三','周四','周五','周六','周日']
    },
    yAxis: {
        type: 'value'
    },
    series: [
        {
            name:'邮件营销',
            type:'line',
            stack: '总量',
            areaStyle: {},
            emphasis: {
                focus: 'series'
            },
            data:[120, 132, 101, 134, 90, 230, 210]
        },
        {
            name:'联盟广告',
            type:'line',
            stack: '总量',
            areaStyle: {},
            emphasis: {
                focus: 'series'
            },
            data:[220, 182, 191, 234, 290, 330, 310]
        },
        {
            name:'视频广告',
            type:'line',
            stack: '总量',
            areaStyle: {},
            emphasis: {
                focus: 'series'
            },
            data:[150, 232, 201, 154, 190, 330, 410]
        }
    ]
};

// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);

二、堆叠图的主要参数

series: [ { name: '邮件营销', type: 'bar', stack: '广告', data: [120, 132, 101, 134, 90, 230, 210] }, { name: '联盟广告', type: 'bar', stack: '广告', data: [220, 182, 191, 234, 290, 330, 310] }, { name: '视频广告', type: 'bar', stack: '广告2', data: [150, 232, 201, 154, 190, 330, 410] } ]

series: [ { name:'邮件营销', type:'line', stack: '总量', areaStyle: {}, emphasis: { focus: 'series' }, data:[120, 132, 101, 134, 90, 230, 210], // 设为空,则只保留最上层的系列显示颜色来实现区域填充效果 itemStyle: { normal: { color: '' } } }, ... ]

yAxis: { type: 'value', axisLabel: { formatter: '{value} 元' } }, xAxis: { type: 'category', data: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'] }

三、堆叠图小技巧

xAxis: { type: 'value' }, yAxis: { type: 'category', data: ['周一','周二','周三','周四','周五','周六','周日'] }

// 对数据按照从大到小的顺序排序 data: data.sort(function (a, b) { return a.value - b.value; })

// 堆叠图点击事件 myChart.on('click', function (params) { // params中包含了堆叠图被点击的数据信息,可以通过其name属性进行数据过滤和联动 console.log(params.name); // 获取联动图表 var otherChart = echarts.getInstanceByDom(document.getElementById('otherChart')); // 联动更新 otherChart.setOption({ series: [{ id: 'series1', // 联通的series的id data: [...] }] }); });

四、结语

Echarts堆叠图是一种非常实用的数据可视化图表类型,它不仅可以分析数据中的各个部分之间的关系,还能够方便地表现整体与部分之间的比例关系。通过不断对堆叠图的学习和实践,可以掌握Echarts强大的可视化分析能力。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT