1

列タイプの日付を使用すると、ColumnChartの最初と最後のバーが半分にカットされます。ミッドバーからレンダリングしているようです。日付以外のデータセットではこれを行いません。

いくつかの追加のパディングを使用して完全なバーがレンダリングされるようにこれを修正する方法はありますか?

http://jsfiddle.net/7tHVN/

4

2 に答える 2

4

viewWindowMode を設定すると、明らかに日付に対して機能します。最小値と最大値が最初と最後の日付の値の前後の日付である私のチャートオプションに以下を追加すると、少なくとも私にとってはうまくいきました。

'hAxis': {'viewWindowMode': 'explicit', 'viewWindow': {'max':new Date('2012-10-02'), 'min':new Date('2007-07-02')}}    

参照:縦棒グラフは、Google フォーラムのエンド バーをトリミングします。

于 2012-10-14T17:44:39.310 に答える
2

私はこの正確な問題を抱えていました (私のラベルも奇妙にずれていました)、それを理解しようとして夢中になりました。hAxis.viewWindowMode通常、このような問題は修正されますが、これを日付値で使用することはできません。

私がやったのは、日付型を完全に破棄し、string代わりにその列の型を指定し、各 JS 日付オブジェクトを文字列表現に変換してから に追加することDataTableでした。

data.addColumn('string', 'Date');
data.addColumn('number', 'Performance');

var dates = [new Date('2012-4-12'),
             new Date('2012-4-13'),
             new Date('2012-4-14')];
var performance = [59, 35, 86];

var dateString;
for (var i=0; i<dataForChart.length; i++) {
    dateString = (dates[i].getMonth()+1)+'/'+ // JS months are 0-indexed
                  dates[i].getDate()+'/'+
                  dates[i].getYear();
    data.addRow([dateString, 
                performance[i]]);
}

これにより、チャートは連続軸ではなく不連続軸でレンダリングされ、カットオフ バーの問題が修正されます。データと日付が等間隔 (1 日に 1 回、1 週間に 1 回など) に配置され、適切な順序で渡されている限り、このアプローチは機能します。

Google Viz ドキュメントには、離散軸と連続軸に関する詳細情報があります: https://google-developers.appspot.com/chart/interactive/docs/customizing_axes

于 2012-06-26T22:58:08.173 に答える