2

選択されているポイントのみを表示する線が必要です (実際には事前に選択されます)。

この例 - http://jsfiddle.net/jhG8j/では、ボタンをクリックすると選択したポイントを表示できますが、他のすべてのポイントが既に表示されている場合にのみ機能させることができます (marker:enabled)。単純な線から始めて、選択したポイントのみを表示する方法はありますか?

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++;
});

});

4

1 に答える 1

3

2 つの別々のシリーズを作成することで、これを回避できます。シリーズを整列して 1 つの折れ線グラフのように見せるには、データにいくつかの 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++;
    });
});
于 2013-05-03T04:47:26.313 に答える