2016-05-16 33 views
0

我正在更新插件以允許Highcharts充當甘特圖。除了當我將xaxis的極值設置爲新的開始/結束時以及在某些情況下,圖表缺少該範圍中的數據時,它們都運行良好。Highcharts - setExtremes後遺失數據

有些時候,圖表會丟失僅一個月的範圍內的數據,但當您更改爲兩個月時,數據會奇蹟般地出現,並與兩個月重疊。在下面的示例中,我將它設置爲顯示2016年5月1日至2016年12月30日期間的所有數據。當您將開始月份更改爲2016年6月1日時,所有數據點都會丟失。

Example

我相信,它圍繞着當前的日期進行更多的測試之後。然而,在初始化時HighCharts我沒有任何限制:

// THE CHART 
$('#container').highcharts({ 
    chart: { 
    type: 'xrange' 
    }, 
    title: { 
    text: 'Highcharts X-range study' 
    }, 
    xAxis: { 
    type: 'datetime' 
    }, 
    yAxis: { 
    title: '', 
    categories: ['1', '2', '3', '4', '5', '6', ,'7', '8'] 
    }, 
    series: [{ 
    name: 'Project 1', 
    // pointPadding: 0, 
    // groupPadding: 0, 
    borderRadius: 5, 
    pointWidth: 10, 
    /*more data in jsfiddle*/ 
     data: [{"label":"1","x":1462147200000,"x2":1464739200000,"y":1,"color":"#999"},{"label":"1","x":1464825600000,"x2":1467331200000,"y":1,"color":"#999"},{"label":"1","x":1467417600000,"x2":1470009600000,"y":1,"color":"#999"} ] 
     }] 
    }); 

起初我還以爲這將是一個限制約束,但我能沒有問題(刪除日期輸入默認值)顯示所有數據。有什麼想法嗎?如果您需要更多信息,請告訴我。

在此先感謝!

UPDATE

進一步測試後,似乎採用極端組數據時是否進行了排序的數據仍然缺失,它只是不極端。我目前在下列情況下看到缺少數據:

  1. 當開始日期介於間隔開始/結束日期之間時,則間隔將不會顯示。

我要試着挖掘HighCharts的源代碼來看看發生了什麼,但我上面的示例仍然反映了這個問題。

回答

1

原來,我必須在初始化圖表之前對數據進行排序。

這篇用以下代碼:

data.sort(function(a, b) { 
    a = a.x2; 
    b = b.x2; 
    return a < b ? -1 : a > b ? 1 : 0; 
}); 

然後傳遞數據到圖表tantalizer的數據屬性。更新了jsfiddle來體現這一點。