1

私は現在、一定の時間枠を視覚化する必要があるグラフに取り組んでいます。時間枠の開始と終了をグラフの幅に固定し、時間枠に応じてその間にカスタムのティック量を設定したいと考えています。

ハイチャートのドキュメントで何かを見つけようとしましたが、javascript の「tickpositioner」または「tickpositions」のように gwt には何もないようです。この動作を実現するために gwt でソリューションにアプローチする方法を知っている人はいますか?

ここに画像の説明を入力

4

1 に答える 1

1

JSONObject で tickpositioner を設定し、javascript で関数を実装するソリューションを見つけました。tickpositioner 関数により、事前定義されたラベルのフォーマットが失われるため、「positions.info」に注意してください。

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;
    };

}-*/;
于 2014-11-06T08:07:53.773 に答える