You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让半圆环形图仅保留一个图例选项?

如何让Highcharts环形图仅保留一个图例选项

我需要让环形图只显示一个图例选项,尝试在series.data中添加showInLegend: true/false但没有效果,原代码如下:

series: [{
    name: 'Brands',
    innerSize: '60%',
    colorByPoint: true,
    showInLegend: true,
    data: [{
        name: 'Chrome',
        // showInLegend: true, ----dosen't work
        y: 70.67,
    }, {
        name: 'Edge',
        // showInLegend: true, ----dosen't work
        y: 29.33
    } ]
}]});

问题原因

在Highcharts的单系列饼图/环形图中,数据点的showInLegend属性不生效——此时图例是基于整个系列的每个数据点自动生成的,该属性仅在多系列场景下才会被识别。


解决方案

方法一:通过图例格式化函数过滤显示项

修改legend配置,使用formatter函数只返回需要显示的图例文本,同时隐藏空图例项:

legend: {
    formatter: function() {
        // 仅返回Chrome的图例名称,其他数据点返回空
        return this.name === 'Chrome' ? this.name : '';
    },
    // 隐藏无文本的图例项
    itemHiddenStyle: {
        display: 'none'
    }
},
series: [{
    name: 'Brands',
    innerSize: '60%',
    colorByPoint: true,
    showInLegend: true,
    data: [{
        name: 'Chrome',
        y: 70.67,
    }, {
        name: 'Edge',
        y: 29.33
    } ]
}]});

方法二:拆分多系列控制图例显示

将需要显示图例的数据点单独拆分为一个系列,其他数据点放在另一个系列并禁用图例:

series: [
    {
        name: 'Chrome',
        innerSize: '60%',
        colorByPoint: true,
        showInLegend: true,
        data: [{y: 70.67}]
    },
    {
        name: 'Edge',
        innerSize: '60%',
        colorByPoint: true,
        showInLegend: false,
        data: [{y: 29.33}]
    }
]});

内容的提问来源于stack exchange,提问作者Artem Shakun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 08:23:23