我目前正在制作图表,该图表应该可视化固定的时间范围。我希望时间框架的开头和结尾固定在图表的宽度上,并希望在两者之间设置自定义的刻度数量,具体取决于时间范围。
我试图在highcharts纪录片中找到一些东西,但似乎gwt没有什么作为" tickpositioner"或" tickpositions"对于javascript会这样做。 有人知道如何在gwt中使用解决方案来实现这种行为吗?
答案 0 :(得分: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;
};
}-*/;