新手必看!轻松上手echarts图表制作全攻略,涵盖入门到进阶技巧

2026-11-09 0 阅读

ECharts 是一个使用 JavaScript 实现的开源可视化库,它提供了一整套图表绘制解决方案,可以轻松实现各种数据可视化需求。对于新手来说,ECharts 的学习曲线相对平缓,但要想掌握其进阶技巧,还需要一定的耐心和积累。本文将带你从入门到进阶,全面了解 ECharts 图表制作。

入门篇:ECharts 基础知识

1. ECharts 简介

ECharts 是一个基于 HTML5 Canvas 的前端图表库,它支持多种图表类型,如折线图、柱状图、饼图、散点图、地图等。ECharts 的特点是易于上手、功能丰富、性能优越。

2. ECharts 安装与配置

安装

ECharts 支持多种安装方式,包括 npm、cnpm、yarn 等。以下是一个使用 npm 安装的示例:

npm install echarts --save

配置

在 HTML 文件中引入 ECharts 的 CSS 和 JS 文件:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>ECharts 示例</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.3/echarts.min.js"></script>
</head>
<body>
    <!-- 图表容器 DOM -->
    <div id="main" style="width: 600px;height:400px;"></div>
    <script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));

        // 指定图表的配置项和数据
        var option = {
            title: {
                text: 'ECharts 入门示例'
            },
            tooltip: {},
            legend: {
                data:['销量']
            },
            xAxis: {
                data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
            },
            yAxis: {},
            series: [{
                name: '销量',
                type: 'bar',
                data: [5, 20, 36, 10, 10, 20]
            }]
        };

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

3. ECharts 图表类型

ECharts 支持多种图表类型,以下是部分图表类型的介绍:

  • 折线图:用于展示数据随时间或其他连续变量的变化趋势。
  • 柱状图:用于比较不同类别的数据。
  • 饼图:用于展示数据占比。
  • 散点图:用于展示两个变量之间的关系。
  • 地图:用于展示地理空间数据。

进阶篇:ECharts 高级技巧

1. 动画与交互

ECharts 支持丰富的动画效果和交互功能,如数据动态更新、图表缩放、拖拽等。以下是一个添加动画效果的示例:

var option = {
    title: {
        text: '动态数据 + ECharts 拖拽'
    },
    tooltip: {},
    legend: {
        data:['销量']
    },
    xAxis: {
        data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
    },
    yAxis: {},
    series: [{
        name: '销量',
        type: 'bar',
        data: [5, 20, 36, 10, 10, 20],
        markPoint: {
            data: [
                {type: 'max', name: '最大值'},
                {type: 'min', name: '最小值'}
            ]
        },
        markLine: {
            data: [
                {type: 'average', name: '平均值'}
            ]
        }
    }]
};

myChart.setOption(option);

// 动态更新数据
setInterval(function () {
    var data0 = option.series[0].data;
    data0[0] += Math.round(Math.random() * 1000);
    data0[1] += Math.round(Math.random() * 1000);
    data0[2] += Math.round(Math.random() * 1000);
    data0[3] += Math.round(Math.random() * 1000);
    data0[4] += Math.round(Math.random() * 1000);
    data0[5] += Math.round(Math.random() * 1000);
    myChart.setOption({
        series: [{
            data: data0
        }]
    });
}, 2000);

2. 自定义图表

ECharts 支持自定义图表,你可以通过修改配置项来实现各种创意图表。以下是一个自定义图表的示例:

var option = {
    title: {
        text: '自定义图表'
    },
    tooltip: {},
    legend: {
        data:['销量']
    },
    xAxis: {
        data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
    },
    yAxis: {},
    series: [{
        name: '销量',
        type: 'custom',
        renderItem: function (params) {
            var size = 20;
            var color = params.color;
            var x = params.dataIndex * size;
            var y = size;
            return {
                type: 'circle',
                shape: {
                    cx: x,
                    cy: y,
                    r: size / 2
                },
                style: {
                    fill: color
                }
            };
        },
        data: ['red', 'blue', 'green', 'yellow', 'purple', 'orange'],
        itemStyle: {
            borderColor: '#fff',
            borderWidth: 1
        }
    }]
};

myChart.setOption(option);

3. 多图表组合

ECharts 支持多图表组合,你可以将多个图表放置在一个容器中,实现数据的多维度展示。以下是一个多图表组合的示例:

var option = {
    title: {
        text: '多图表组合'
    },
    tooltip: {},
    legend: {
        data:['销量']
    },
    xAxis: {
        data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
    },
    yAxis: {},
    series: [{
        name: '销量',
        type: 'bar',
        data: [5, 20, 36, 10, 10, 20]
    }, {
        name: '占比',
        type: 'pie',
        radius: '30%',
        center: ['50%', '40%'],
        data: [
            {value: 5, name: '衬衫'},
            {value: 20, name: '羊毛衫'},
            {value: 36, name: '雪纺衫'},
            {value: 10, name: '裤子'},
            {value: 10, name: '高跟鞋'},
            {value: 20, name: '袜子'}
        ]
    }]
};

myChart.setOption(option);

总结

ECharts 是一个功能强大的图表库,通过本文的介绍,相信你已经对 ECharts 有了一定的了解。从入门到进阶,ECharts 都能为你提供丰富的图表制作技巧。希望本文能帮助你更好地掌握 ECharts,为你的数据可视化之路添砖加瓦。

分享到: