1

私はグーグルチャートにGWTAPIを使用していて、いくつかの問題があります:

  • 縦棒グラフに欠落している開始値と終了値からの列

クラスター化されたColumnChart

  • 棒グラフの幅は、最初/最後の値の半分にトリミングされます

積み上げ棒グラフ

これを解決するために、viewWindowModeプロパティを試しました

HorizontalAxisOptions opt = HorizontalAxisOptions.create();
opt.set("viewWindowMode","pretty");

しかし、これは機能しません。

解決する方法について何かアイデアはありますか?

コード:

private Options createOptions(ChartDataProxy response) {


        Options options = Options.create();
        options.setWidth(chartPanel.getOffsetWidth() - 2 * chartBorderWidth);
        options.setHeight(chartPanel.getOffsetHeight() - 2 * chartBorderWidth);

        HorizontalAxisOptions opt = HorizontalAxisOptions.create();
        opt.setTitle(response.getxAxisName());
        opt.setSlantedText(true);
        opt.set("viewWindowMode","pretty");

        options.setHAxisOptions(opt);

        AxisOptions vopt = AxisOptions.create();
        vopt.setTitle( response.getyAxisName());
        vopt.set("viewWindowMode","pretty");

        options.setVAxisOptions(vopt);

        options.setTitle(response.getCaption() + " " + response.getSubCaption());
        options.setLegend( LegendPosition.BOTTOM );

        options.setPointSize(4);

        return options;
    }
4

1 に答える 1

1

javascriptを使用していましたが、同様の問題が発生しています。たぶん、あなたはそれをGWTに適応させることができます。

基本的に、DataViewはそれを修正できます。DataViewで最初の列を処理し、DataViewを使用しないときに返す必要があるものはすべて文字列として返す必要があります。私は(知らない)、それは奇妙だ。

日付と数値の2つの列があるとします。この種のコードを使用します:

var data = new google.visualization.DataTable();

data.addColumn('date', 'month');
data.addColumn('number', 'users');

// trick to prevent the bar chart from being cut in half at both edge of our graph
var dataView = new google.visualization.DataView(data);
dataView.setColumns([{calc: function(data, row) { return data.getFormattedValue(row, 0); }, type:'string'}, 1]);

var chart = new google.visualization.ColumnChart(document.getElementById('chart_monthly_users'));
chart.draw(dataView, options);

それが役に立てば幸い。散らばった解を集めるだけです。

于 2012-10-17T13:01:12.240 に答える