ECharts是一个基于 JavaScript 的开源可视化图表库,它提供了丰富的图表类型和配置选项,适合展示各种数据。使用ECharts绘制柱状图时,常常需要在柱状图上显示原始值、百分比及汇总值,以便给用户提供更加详细的信息。本文将介绍如何实现这一功能。

基础准备

首先,确保在你的HTML文件中引入ECharts库,如下所示:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ECharts示例</title>
    <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
    <style>
        #main {
            width: 600px;
            height: 400px;
        }
    </style>
</head>
<body>
    <div id="main"></div>
    <script>
        var myChart = echarts.init(document.getElementById('main'));

        // 数据准备
        var data = [120, 200, 150, 80, 70, 110, 130];
        var total = data.reduce((a, b) => a + b, 0); // 汇总值

        var option = {
            title: {
                text: '柱状图示例'
            },
            tooltip: {
                trigger: 'item',
                formatter: function(params) {
                    let value = params.value;
                    let percent = ((value / total) * 100).toFixed(2) + '%';
                    return `${params.name}<br/>原始值: ${value}<br/>百分比: ${percent}`;
                }
            },
            xAxis: {
                type: 'category',
                data: ['类别1', '类别2', '类别3', '类别4', '类别5', '类别6', '类别7']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                name: '数据',
                type: 'bar',
                data: data,
                label: {
                    show: true,
                    position: 'top',
                    formatter: function(params) {
                        let value = params.value;
                        let percent = ((value / total) * 100).toFixed(2) + '%';
                        return `${value}\n(${percent})`; // 显示原始值和百分比
                    }
                }
            }]
        };

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

代码解析

  1. 数据准备: 在上述代码中,我们首先准备了一组数据,并计算出这些数据的汇总值。汇总值是通过reduce方法计算得出的。

  2. ECharts配置: option对象是ECharts的核心配置。我们为标题、提示框、坐标轴和数据系列分别设置了属性。

    • 标题: 使用 title 属性设置图表的标题。

    • 提示框: 配置 tooltip 使其在鼠标悬停时显示原始值和百分比。在 formatter 函数中,我们使用 params 来获取当前项的值,并计算百分比。

    • 坐标轴: 使用 xAxisyAxis 定义图表的坐标轴。xAxis 为类别轴,yAxis 为数值轴。

    • 数据系列: 在 series 中,我们指定了数据系列类型为 bar,并使用 label 属性显示每个柱子的原始值和百分比。通过 formatter 函数格式化显示的内容,包括原始值和对应的百分比。

  3. 显示图表: 最后,通过 myChart.setOption(option) 将配置项应用于图表并渲染。

总结

通过以上步骤,我们成功实现了在柱状图中显示原始值和百分比。ECharts提供了灵活的配置选项,可以根据需求进行更改和扩展。你可以通过调整样式、颜色、动画效果等,进一步提升图表的可视化效果。希望这篇文章能够帮助你更好地使用ECharts进行数据可视化。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部