0

面グラフの2点間をクリックで塗りつぶしたい。このチャートでhttp://jsfiddle.net/nnqAb/

$(function () {
$('#container').highcharts({
    chart: {
        type: 'area'
    },
    xAxis: {
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    },

    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
$('#button').click(function() {
    var chart = $('#container').highcharts();
    chart.series[0].data[3].update({
        y:150,
        marker:{
            fillColor: 'red',
        }
    }
   );

    chart.series[0].data[4].update({
        y:150,
        marker:{
            fillColor: 'red',
        }
    }
   );
});

});

「5月」時点でクリックするとこんなチャートが欲しいhttp://d.pr/i/7IcE作れますか?

4

2 に答える 2

1

はい!それが可能だ。

必要なのは、系列データのヌルを揃えた面グラフだけです。

$(function () {
        $('#container').highcharts({
            chart: {
                type: 'area',
            }
            series: [{
                name: 'John',
                data: [null, null, 3, 3, 3, null, null, null] //when there's no "Jane" data, show "John" data
            }, {
                name: 'Jane',
                data: [1, 1, 3, null, 3, 1, 2, 8]
            }]
        });
    });

完全なデモ: http://jsfiddle.net/adamb/RXLnQ/

于 2013-10-24T14:27:16.467 に答える
0

はい、これは確かに可能です。2 系列のデータを使用する必要があります。

初期ロードでは、1 つは null データで、もう 1 つは通常のデータです。

クリックが発生したら、2番目のシリーズにデータを与えて、必要なものを表示できるようにします

ここのようにhttp://jsfiddle.net/nnqAb/3/

ボタンをクリックしたときにシリーズを追加する別の方法があります

chart.addSeries({
            data: [null,null,null, 150, 150, ],
                   color: 'red'
        });

http://jsfiddle.net/nnqAb/1/で更新されたフィドル

于 2013-10-25T06:54:21.147 に答える