2017-09-11 18 views
0

私はこの例のような高いチャートに不規則な時系列データをプロットしようとしていますhttp://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/demo/spline-irregular-time/highchart - 不規則な時系列

var dataArray = [ 
{ErrorDate: "2017-09-07", Brand: "Toyota", Count: 3}, 
{ErrorDate: "2017-09-02", Brand: "Ford", Count: 258}, 
{ErrorDate: "2017-09-03", Brand: "Ford", Count: 239}, 
{ErrorDate: "2017-09-04", Brand: "Ford", Count: 197}, 
{ErrorDate: "2017-09-05", Brand: "Ford", Count: 187}, 
{ErrorDate: "2017-09-06", Brand: "Ford", Count: 418}, 
{ErrorDate: "2017-09-07", Brand: "Ford", Count: 344}, 
{ErrorDate: "2017-09-03", Brand: "Mercedes", Count: 43}, 
{ErrorDate: "2017-09-04", Brand: "Mercedes", Count: 220}, 
{ErrorDate: "2017-09-03", Brand: "Chrysler", Count: 3}, 
{ErrorDate: "2017-09-04", Brand: "Chrysler", Count: 3}, 
{ErrorDate: "2017-09-06", Brand: "Chrysler", Count: 6}, 
{ErrorDate: "2017-09-07", Brand: "Chrysler", Count: 1} 
]; 

私は変数dataArrayで私のデータを持っている、と私は入ってくるデータから、各ブランドに基づいて、一連のデータを構築しようとしてきたが、しかし、私が午前の課題は、私は動的で渡す必要があるということです'ErrorDate'をシリーズ内の各データポイントとともに、適切にプロットするようにします。

これを達成するにはどうすればよいでしょうか?

フィドル:https://jsfiddle.net/ntt5oc21/

答えて

0

あなたはHighchartsに渡す前に、あなたのデータを準備する必要があります。このドキュメントページには助けになるはずです:

var seriesArr = []; 
dataArray.forEach(function(point) { 

    var newPoint = [point.ErrorDate, point.Count], 
    seriesIndex = seriesArr.findIndex((series) => series.name === point.Brand); 

    if (seriesIndex === -1) { 
    seriesArr.push({ 
     name: point.Brand, 
     data: [newPoint] 
    }); 
    } else { 
    seriesArr[seriesIndex].data.push(newPoint); 
    } 
}); 

は、その後、あなたが動的にチャート APIセクションを変更するためのメソッドとプロパティ からのいずれかの方法を使用することができます:http://api.highcharts.com/highcharts

https://www.highcharts.com/docs/chart-concepts/seriesここ

はあなたの処理されたデータであります例えば

seriesArr.forEach(function(series) { 
    chart.addSeries(series); 
}); 

完全デモ:https://jsfiddle.net/kkulig/knhx3yvz/

関連する問題