2014-11-04 37 views
1

我目前正在研究一個圖表,它應該可視化一個固定的時間範圍。我希望將時間段的開始和結束時間固定在圖形的寬度上,並且希望根據時間範圍設置自定義數量的時間間隔。固定圖表中的最小和最大動態時間刻度

我試圖在highcharts文件中找到一些東西,但似乎沒有什麼gwt作爲「tickpositioner」或「tickpositions」的JavaScript會做。 有沒有人有一個想法如何在gwt中實現這個行爲的解決方案?

enter image description here

+0

在gwt中,你不能使用tickpositioner? – 2014-11-05 11:27:30

回答

1

我找到了一個解決方案,我設置的的JSONObject的tickpositioner和執行JavaScript的功能。注意「positions.info」,因爲由於tickpositioner功能,標籤預定義的標籤格式會丟失。

void setXaxisTicks(XAxis xAxis, Long start, Long end) { 
    JSONObject options = xAxis.getOptions(); 
    options.put("tickPositioner", null); 
    configureXAxis(options.getJavaScriptObject(), start, end); 
} 

private native void configureXAxis(JavaScriptObject javaScriptObject, Number start, Number end) /*-{ 
    javaScriptObject.tickPositioner = function() { 
     var positions = [], 
     tick = Math.floor(start), 
     increment = Math.ceil((end - start)); 
     for (tick; tick - increment <= end; tick += increment) { 
      positions.push(tick); 
     } 

     tLen = positions.length; 

     positions.info = { 
      unitName: "minute", 
      higherRanks: {}, 
      totalRange: positions[tLen - 1] - positions[0] 
     }; 

     return positions; 
    }; 

}-*/;