高图-只显示选定的点

Highcharts - show only selected points

本文关键字:-只 显示 高图      更新时间:2023-09-26

我想有一条线,只显示选中的点(它们实际上是预先选定的)。

在这个例子中- http://jsfiddle.net/jhG8j/-你可以显示选中的点,当你点击按钮,但我只能让它工作,如果所有其他点已经显示(标记:启用)。是否有一种方法可以从一条平线开始,然后只显示选定的点?

下面是来自jsfiddle的相关代码:

$(function () {
$('#container').highcharts({
    plotOptions: {
        line: {
            marker: {
                enabled: true
            }  
        }
    },
    series: [{
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
    }]
});
// button handler
var chart = $('#container').highcharts(),
    i = 0;
$('#button').click(function() {
    if (i == chart.series[0].data.length) {
        i = 0;
    }
    chart.series[0].data[i].select(true, true);
    i++;
});

});

您可以通过创建两个单独的系列来解决这个问题。为了使您的系列看起来像一个折线图,您需要在数据中添加一些null,并确保第一个系列的最后一个数据点是下一个系列的第一个数据点。

使用您提供的jsfiddle,更新后的代码如下:
$(function () {
    $('#container').highcharts({
        plotOptions: {
            line: {
            }
        },
        series: [{
            data: [29.9, 71.5, 106.4] ,
            marker: {
                enabled: true
            } ,
            color: '#000000'
        },{
            data: [null, null , 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]  ,
            marker: {
                enabled: false ,
                states: {
                    hover: {
                        enabled: false   
                    } ,
                    states: {
                        select: false   
                    }
                }
            },
            color: '#000000'
        }]
    });
    // button handler
    var chart = $('#container').highcharts(),
        i = 0;
    $('#button').click(function() {
        if (i == chart.series[0].data.length) {
            i = 0;
        }
        chart.series[0].data[i].select(true, true);
        i++;
    });
});