全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

详解Echarts堆叠图

发布时间:2023-11-22 06:39:08
发布人:xqq

一、堆叠图基本介绍

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强大的可视化分析能力。

echarts堆叠图

相关文章

电驴更新服务器列表用法介绍

电驴更新服务器列表用法介绍

2023-11-22
Linux查看PID的方法

Linux查看PID的方法

2023-11-22
Python取1的多种方法

Python取1的多种方法

2023-11-22
Try_files指令详解

Try_files指令详解

2023-11-22

最新文章

武汉新媒体行业公司排名

武汉新媒体行业公司排名

2023-11-01
武汉新媒体就业现状好吗

武汉新媒体就业现状好吗

2023-11-01
武汉全媒体行业发展现状及趋势

武汉全媒体行业发展现状及趋势

2023-10-31
武汉全媒体现状

武汉全媒体现状

2023-10-31
在线咨询 免费试学 教程领取