掌握echarts,轻松绘制图表:实用技巧与案例解析,助你设计专业图表

2026-11-11 0 阅读

ECharts 是一个使用 JavaScript 实现的开源可视化库,它能够轻松地嵌入网页中,帮助我们创建丰富的图表。无论是数据分析师还是前端开发者,ECharts 都是一个不可或缺的工具。本文将详细介绍 ECharts 的实用技巧与案例解析,帮助你设计出专业、美观的图表。

ECharts 快速入门

1. ECharts 的基本使用

首先,你需要引入 ECharts 的 JS 文件。你可以从 ECharts 的官方网站下载,或者使用 CDN 链接。以下是一个简单的示例:

<!DOCTYPE html>
<html style="height: 100%">
<head>
    <meta charset="utf-8">
</head>
<body style="height: 100%; margin: 0">
    <div id="container" style="height: 100%"></div>
    <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.0.0/echarts.min.js"></script>
    <script type="text/javascript">
        // 初始化图表
        var myChart = echarts.init(document.getElementById('container'));
        // 指定图表的配置项和数据
        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>

2. ECharts 图表类型

ECharts 支持多种图表类型,包括但不限于:

  • 折线图(Line)
  • 柱状图(Bar)
  • 饼图(Pie)
  • 散点图(Scatter)
  • 雷达图(Radar)
  • 水流图(Gauge)
  • 旭日图(Sunburst)
  • K线图(K)

ECharts 实用技巧

1. 自定义图表样式

ECharts 提供了丰富的配置项,你可以自定义图表的颜色、字体、线条样式等。以下是一个自定义柱状图样式的示例:

var option = {
    xAxis: {
        type: 'category',
        data: ['A', 'B', 'C', 'D', 'E']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        type: 'bar',
        data: [120, 200, 150, 80, 70],
        itemStyle: {
            color: '#facc14' // 自定义颜色
        }
    }]
};

2. 动画效果

ECharts 支持多种动画效果,例如渐变、缩放、旋转等。以下是一个添加动画效果的示例:

var option = {
    xAxis: {
        type: 'category',
        data: ['A', 'B', 'C', 'D', 'E']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        type: 'bar',
        data: [120, 200, 150, 80, 70],
        animationEffect: {
            effect: 'scale',
            scale: 1,
            round: true
        }
    }]
};

3. 数据转换

ECharts 支持多种数据转换,例如数据筛选、排序、映射等。以下是一个数据映射的示例:

var data = [
    {value: 1048, name: '搜索引擎'},
    {value: 735, name: '直接访问'},
    {value: 580, name: '邮件营销'},
    {value: 484, name: '联盟广告'},
    {value: 300, name: '视频广告'}
];

var option = {
    tooltip: {
        trigger: 'item',
        formatter: '{a} <br/>{b}: {c} ({d}%)'
    },
    legend: {
        orient: 'vertical',
        left: 10,
        data: data.map(function (item) {
            return item.name;
        })
    },
    series: [{
        name: '访问来源',
        type: 'pie',
        radius: ['50%', '70%'],
        avoidLabelOverlap: false,
        label: {
            show: false,
            position: 'center'
        },
        emphasis: {
            label: {
                show: true,
                fontSize: '30',
                fontWeight: 'bold'
            }
        },
        labelLine: {
            show: false
        },
        data: data
    }]
};

ECharts 案例解析

1. 基于地图的图表

ECharts 支持多种地图类型,例如中国地图、世界地图等。以下是一个基于中国地图的图表示例:

var myChart = echarts.init(document.getElementById('container'));

var option = {
    title: {
        text: '全国销售分布',
        subtext: '纯属虚构',
        left: 'center'
    },
    tooltip: {
        trigger: 'item'
    },
    legend: {
        orient: 'vertical',
        left: 'left',
        data:['销售量']
    },
    visualMap: {
        min: 0,
        max: 2000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [
        {
            name: '销售量',
            type: 'map',
            mapType: 'china',
            roam: true,
            label: {
                show: true
            },
            data: [
                {name: '北京', value: Math.round(Math.random() * 1000)},
                {name: '天津', value: Math.round(Math.random() * 1000)},
                // ... 其他省市
            ]
        }
    ]
};

myChart.setOption(option);

2. 时间序列图表

ECharts 支持时间序列图表,例如折线图、K线图等。以下是一个折线图的时间序列图表示例:

var myChart = echarts.init(document.getElementById('container'));

var option = {
    title: {
        text: '某城市空气质量'
    },
    tooltip: {
        trigger: 'axis'
    },
    legend: {
        data:['PM2.5']
    },
    xAxis: {
        type: 'category',
        data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        name: 'PM2.5',
        type: 'line',
        data: [10, 11, 12, 13, 10, 11, 12, 13, 10, 11, 12, 13]
    }]
};

myChart.setOption(option);

通过以上示例,你可以了解到 ECharts 的基本使用、实用技巧和案例解析。希望这些内容能帮助你更好地掌握 ECharts,设计出专业、美观的图表。

分享到: