web-dev-qa-db-ja.com

ハイチャートの折れ線グラフに値がない場合、線はなく、点だけになります

これを見てください:

http://jsfiddle.net/2rNzr/

var chart = new Highcharts.Chart({

    chart: {
        renderTo: 'container'
    },

    xAxis: {
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    },

    series: [{
        data: [29.9, '', 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
    }]

});

データに空白の値(2番目の値)が含まれているため、折れ線グラフが正しく表示されないことがわかります。

これはバグですか?

折れ線グラフにギャップができるように、欠落している値を指定する正しい方法は何ですか?つまり、折れ線グラフでポイント1とポイント3の間に線を引くだけでは不十分です。

素晴らしい製品を作ってくれてありがとう!

トニー。

16
Tony

欠落している値をnullに変更し、既存の値を通る線/スプラインが必要であることを指定する必要があります。

var chart = new Highcharts.Chart({

    chart: {
        defaultSeriesType: 'line',
        renderTo: 'container'
    },

    xAxis: {
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    },

    series: [{
        data: [29.9, null, 106.4, 129.2, 144.0, 176.0, null, 148.5, 216.4, 194.1, 95.6, 54.4],
    }]

});

http://jsfiddle.net/xynZT/ を参照してください。例としてdefaultSeriesType: 'spline'を使用します。

23

散布図をプロットするだけで、正しく表示されません。完全なシリーズがないので、そのように扱われると思います。可能ですが、これはデータが負の数を使用していないかどうかに依存します。データがないコレクションを0にすると、data: [29.9, 0, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]になり、行が表示されます。

1
LouieV