从入门到精通:轻松掌握ECharts雷达图制作全攻略

2026-10-08 0 阅读

雷达图是一种展示多维度数据的图表,它能够直观地反映出不同指标之间的对比关系。ECharts 是一个使用 JavaScript 实现的开源可视化库,它提供了丰富的图表类型,其中包括雷达图。本篇文章将带你从入门到精通,轻松掌握 ECharts 雷达图制作。

入门篇:了解雷达图与ECharts

什么是雷达图?

雷达图,也称为蜘蛛图,是一种展示多变量数据的图表。它将每个变量绘制在坐标轴上,形成一个多边形的“雷达网”。通过比较不同数据点在各个坐标轴上的位置,可以直观地看出各个指标之间的差异和联系。

什么是 ECharts?

ECharts 是一个使用 JavaScript 实现的开源可视化库,它能够帮助开发者轻松地制作各种图表。ECharts 提供了丰富的图表类型,包括折线图、柱状图、饼图、雷达图等,支持多种交互效果和数据格式。

基础篇:ECharts 雷达图的基本用法

引入 ECharts 库

首先,需要在 HTML 文件中引入 ECharts 库。可以通过以下代码实现:

<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.3/echarts.min.js"></script>

创建雷达图

接下来,创建一个 HTML 元素用于存放雷达图,并为其设置一个 ID:

<div id="main" style="width: 600px;height:400px;"></div>

初始化雷达图

使用 ECharts 的 init 方法初始化雷达图,并设置雷达图的配置项:

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

var option = {
    title: {
        text: '雷达图示例'
    },
    tooltip: {},
    legend: {
        data:['预算分配(Allocated Budget)','实际花费(Actual Spending)']
    },
    radar: {
        // 设置雷达图的指标
        indicator: [
            {name: '销售(sales)', max: 6500},
            {name: '管理(administration)', max: 16000},
            {name: '信息技术(information tech)', max: 30000},
            {name: '客服(customer support)', max: 38000},
            {name: '研发(research & development)', max: 52000},
            {name: '市场(marketing)', max: 25000}
        ]
    },
    series: [{
        name: '预算 vs 开销',
        type: 'radar',
        data : [
            {
                value : [4200, 3000, 20000, 35000, 50000, 18000],
                name : '预算分配(Allocated Budget)'
            },
            {
                value : [5000, 14000, 28000, 26000, 42000, 21000],
                name : '实际花费(Actual Spending)'
            }
        ]
    }]
};

myChart.setOption(option);

雷达图配置项详解

  • title: 雷达图的标题。
  • tooltip: 鼠标悬停时显示的提示框。
  • legend: 图例,用于标识不同系列的数据。
  • radar: 雷达图的配置项,包括指标和雷达图的形状。
  • series: 系列数据,包括雷达图的数据和名称。

进阶篇:ECharts 雷达图的高级用法

动态数据更新

使用 ECharts 的 setOption 方法可以动态更新雷达图的数据。以下是一个示例:

// 更新数据
var option = {
    series: [{
        data: [{
            value: [5000, 15000, 30000, 35000, 55000, 25000],
            name: '预算分配(Allocated Budget)'
        }]
    }]
};

myChart.setOption(option);

交互效果

ECharts 支持多种交互效果,如点击、鼠标悬停等。以下是一个示例:

myChart.on('click', function (params) {
    console.log(params.name); // 输出点击的系列名称
    console.log(params.value); // 输出点击的数据值
});

雷达图的样式定制

ECharts 允许用户自定义雷达图的样式,包括颜色、字体、边框等。以下是一个示例:

var option = {
    radar: {
        axisName: {
            textStyle: {
                color: '#999999',
                fontSize: 12
            }
        },
        splitLine: {
            lineStyle: {
                color: '#e0e0e0'
            }
        },
        splitArea: {
            show: true,
            areaStyle: {
                color: ['#ffffff', '#f3f3f3']
            }
        }
    }
};

精通篇:ECharts 雷达图的高级应用

多雷达图

在 ECharts 中,可以同时显示多个雷达图。以下是一个示例:

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

var option = {
    title: {
        text: '多雷达图示例'
    },
    tooltip: {},
    legend: {
        data: ['预算分配(Allocated Budget)', '实际花费(Actual Spending)']
    },
    radar: [
        {
            indicator: [
                {name: '销售(sales)', max: 6500},
                {name: '管理(administration)', max: 16000},
                {name: '信息技术(information tech)', max: 30000},
                {name: '客服(customer support)', max: 38000},
                {name: '研发(research & development)', max: 52000},
                {name: '市场(marketing)', max: 25000}
            ]
        },
        {
            indicator: [
                {name: '销售(sales)', max: 5000},
                {name: '管理(administration)', max: 14000},
                {name: '信息技术(information tech)', max: 28000},
                {name: '客服(customer support)', max: 26000},
                {name: '研发(research & development)', max: 42000},
                {name: '市场(marketing)', max: 25000}
            ]
        }
    ],
    series: [
        {
            name: '预算分配(Allocated Budget)',
            type: 'radar',
            data: [
                {
                    value: [4200, 3000, 20000, 35000, 50000, 18000]
                }
            ]
        },
        {
            name: '实际花费(Actual Spending)',
            type: 'radar',
            data: [
                {
                    value: [5000, 14000, 28000, 26000, 42000, 21000]
                }
            ]
        }
    ]
};

myChart.setOption(option);

雷达图与其他图表结合

ECharts 支持将雷达图与其他图表类型结合使用,如折线图、柱状图等。以下是一个示例:

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

var option = {
    title: {
        text: '雷达图与折线图结合示例'
    },
    tooltip: {},
    legend: {
        data: ['预算分配(Allocated Budget)', '实际花费(Actual Spending)']
    },
    radar: [
        {
            indicator: [
                {name: '销售(sales)', max: 6500},
                {name: '管理(administration)', max: 16000},
                {name: '信息技术(information tech)', max: 30000},
                {name: '客服(customer support)', max: 38000},
                {name: '研发(research & development)', max: 52000},
                {name: '市场(marketing)', max: 25000}
            ]
        }
    ],
    series: [
        {
            name: '预算分配(Allocated Budget)',
            type: 'radar',
            data: [
                {
                    value: [4200, 3000, 20000, 35000, 50000, 18000]
                }
            ]
        },
        {
            name: '实际花费(Actual Spending)',
            type: 'line',
            data: [
                [5000, 14000, 28000, 26000, 42000, 21000]
            ]
        }
    ]
};

myChart.setOption(option);

总结

通过本文的介绍,相信你已经掌握了 ECharts 雷达图的基本用法、进阶用法和高级应用。雷达图是一种非常实用的图表类型,它能够帮助用户直观地展示多维度数据。希望本文能够帮助你更好地利用 ECharts 雷达图,为你的数据可视化项目增色添彩。

分享到: