1

gwt-visualization ( Chart Toolsのラッパー)を使用しています。2 つの棒グラフ (積み上げ) と 1 つの折れ線グラフを含む ComboChart があり、いくつかの行にannotationandを追加したいと考えています。annotationText

は次のDataTableように定義されます。

private DataTable buildData() {

    DataTable data = DataTable.create();
    data.addColumn(ColumnType.STRING, "Day");
    data.addColumn(ColumnType.NUMBER, "Domain");
    data.addColumn(ColumnType.NUMBER, "Domain (Source 1)");
    data.addColumn(ColumnType.NUMBER, "Domain (Source 2)");

    addAnnotationColumn(data);

    return data;
}

private native void addAnnotationColumn(DataTable data) /*-{
    data.addColumn({
        type : 'string',
        role : 'annotation'
    });
    data.addColumn({
        type : 'string',
        role : 'annotationText'
    });
}-*/;

そして、チャートオプション...

private ComboChart.Options createComboOptions(String title) {
    ComboChart.Options options = ComboChart.createComboOptions();
    Series line = Series.create();
    line.setType(Type.LINE);
    options.setSeries(0, line);

    Series bars1 = Series.create();
    bars1.setType(Type.BARS);
    options.setSeries(1, bars1);

    Series bars2 = Series.create();
    bars2.setType(Type.BARS);
    options.setSeries(2, bars2);

    options.setIsStacked(true);
    return options;
}

次のような結果になります。 結果

私が必要とするのは、行 series のいくつかの行に注釈を追加すること、つまりComboChart で役割を設定する方法ですが、gwtでそれを行う方法に関するドキュメントを見つけることができないようです (または行う方法さえComboChart の純粋な JS で)。ヘルプ?

4

2 に答える 2

1

ComboChart は、グラフで作成された最後のシリーズに注釈/annotationText 列を追加することがわかります。これは、ComboChart で注釈をサポートしていない棒グラフにロールが追加されたことを意味します。

ただし、折れ線グラフはそれらをサポートしています-したがって、「汚い修正」は、折れ線シリーズがグラフの最後のものになるようにすることでした:

private ComboChart.Options createComboOptions(String title) {
    ComboChart.Options options = ComboChart.createComboOptions();

    Series bars1 = Series.create();
    bars1.setType(Type.BARS);
    options.setSeries(0, bars1);

    Series bars2 = Series.create();
    bars2.setType(Type.BARS);
    options.setSeries(1, bars2);

    Series line = Series.create();
    line.setType(Type.LINE);
    options.setSeries(2, line);

    options.setIsStacked(true);
    return options;
}
于 2012-11-15T18:35:18.860 に答える
1

Google チャートの役割に関するドキュメントは、こちらにあります

setValue()実際の注釈を追加するには、組み込みの GWT 関数 ( )を使用するだけです。

private DataTable buildData() {

    DataTable data = DataTable.create();
    data.addColumn(ColumnType.STRING, "Day");
    data.addColumn(ColumnType.NUMBER, "Domain");
    data.addColumn(ColumnType.NUMBER, "Domain (Source 1)");
    data.addColumn(ColumnType.NUMBER, "Domain (Source 2)");

    addAnnotationColumn(data);

    for (int i =0;i<dataLength;i++) {
        data.addRow();
        data.setValue(i,0,'DAY');
        data.setValue(i,1,DOMAIN);
        data.setValue(i,2,DOMAIN_SOURCE1); 
        data.setValue(i,3,DOMAIN_SOURCE2);
        data.setValue(i,4,ANNOTATION);
        data.setValue(i,5,ANNOTATION_TEXT);
    }

    return data;
}
于 2012-11-12T09:49:11.480 に答える