javascript - Highcharts Solid Gauge 只想显示 1 个数据标签

标签 javascript jquery highcharts

我想在我的一个项目中使用 Highcharts,但在使用 Javascript 时遇到了一些问题,因为我对该语言还很陌生。我已经自定义了当前的图表,但数据标签彼此重叠,因为数据数组中有超过 1 个元素。

// The speed gauge
$('#container-speed').highcharts(Highcharts.merge(gaugeOptions, {
    yAxis: {

        min: 0,
        max: 200,
        title: {
            text: 'Speed'
        }
    },

    credits: {
        enabled: false
    },

    series: [{
        name: 'Speed',


        data: [160, 50],
        dataLabels: {
            format: '<div style="text-align:center"><span style="font-size:25px;color:' +
                ((Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black') + '">{y}</span><br/>' +
                   '<span style="font-size:12px;color:silver">km/h</span></div>'
        },
        tooltip: {
            valueSuffix: ' km/h'
        }
    }]

}));

您可以从上面看到我的 data: [160, 50] 数组。我必须将数组元素从最大到最低放置,因为图表上的数据图是在之前的数据图上绘制的;没关系,我正在处理这个问题。

我的问题是如何让 dataLabels 仅显示数据[0]?我尝试了很多方法但没有运气。通常我会在 jsfiddle 中看到一个空白屏幕,我认为这是无效的 JS。

这是一个默认图表,显示我在 jsfiddle 中的问题: http://jsfiddle.net/wzx8r9qq/

最佳答案

我从您的代码中了解到,您有一个包含两个数据点(160 和 50)的系列。因此,对于显示,您可以同时启用或不启用此功能。

对于您想要实现的目标,我认为替代方法是使用两个系列而不是一个系列,并显示一个系列而不是其他系列的值(value)。注意:这里有两个系列,一个在另一个之上。

这是更新后的代码和 jsFiddle

// The speed gauge
    $('#container-speed').highcharts(Highcharts.merge(gaugeOptions, {
        yAxis: {

            min: 0,
            max: 200,
            title: {
                text: 'Speed'
            }
        },

        credits: {
            enabled: false
        },

        series: [{
            name: 'Speed',
            data: [160],            
            dataLabels: {
                format: '<div style="text-align:center"><span style="font-size:25px;color:' +
                    ((Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black') + '">{y}</span><br/>' +
                       '<span style="font-size:12px;color:silver">km/h</span></div>'
            },
            tooltip: {
                valueSuffix: ' km/h'
            }
        },
                 {
            name: 'Speed',
            data: [50],            
            dataLabels: {
                format: '<div style="text-align:center"><span style="font-size:25px;color:' +
                    ((Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black') + '"></span><br/>' +
                       '<span style="font-size:12px;color:silver">km/h</span></div>'
            },
            tooltip: {
                valueSuffix: ' km/h'
            }
        }
                ]
    }

关于javascript - Highcharts Solid Gauge 只想显示 1 个数据标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29634241/

相关文章:

javascript - 如何动态获取 Javascript 中对象的值?

javascript - Angular 4 - 请求的资源上不存在 'Access-Control-Allow-Origin' header

javascript - 试图让动态生成的类循环

javascript - 如何在Highchart中动态填充数据

javascript - 如何将 HTML 表格转换为图表?

javascript - d3.csv promise 挂起并获取其数据

jquery - 获取Grails 3.1.2的默认导航菜单以覆盖所有类

jquery - 对于移动设备,如何暂时阻止 jQuery 触摸事件,然后重新激活它们?

highcharts - 后台渲染图表

javascript - Jquery 中的 onclick 函数不起作用