Google Charts Table があり、いくつかの列と行が表示されます。たとえば、4つの列(それぞれA、B、C、D)があるとします。列Cの値をロードできますが、列が表示されないように非表示にする方法はありますか?
前もって感謝します!
DataTableを描画する代わりに、元のデータをフィルタリングする中間のDataViewオブジェクトを作成する必要があります。このようなもの:
//dataResponse is your Datatable with A,B,C,D columns
var view = new google.visualization.DataView(dataResponse);
view.setColumns([0,1,3]); //here you set the columns you want to display
//Visualization Go draw!
visualizationPlot.draw(view, options);
SetColumnsの代わりにhideColumnsメソッドの方が良いかもしれません。自分で選択してください。
乾杯
グラフの代わりにChartWrapperを使用する別の方法を次に示します。
var opts = {
"containerId": "chart_div",
"dataTable": datatable,
"chartType": "Table",
"options": {"title": "Now you see the columns, now you don't!"}
}
var chartwrapper = new google.visualization.ChartWrapper(opts);
// set the columns to show
chartwrapper.setView({'columns': [0, 1, 4, 5]});
chartwrapper.draw();
ChartWrapperを使用すると、非表示の列を変更したり、すべての列を表示したりする関数を簡単に追加できます。すべての列を表示するには、'columns'
の値としてnull
を渡します。たとえば、jQueryを使用すると、
$('button').click(function() {
// use your preferred method to get an array of column indexes or null
var columns = eval($(this).val());
chartwrapper.setView({'columns': columns});
chartwrapper.draw();
});
あなたのhtmlでは、
<button value="[0, 1, 3]" >Hide columns</button>
<button value="null">Expand All</button>
(注:簡潔にするためにeval
を使用します。コードに適したものを使用してください。それは重要ではありません。)
これはCSSで行うことができます。
「#table_div」は、テーブルがラップされているdivです。同じページに複数のテーブルがあるため、これを使用します。
#table_div .google-visualization-table table.google-visualization-table-table
td:nth-child(1),th:nth-child(1){
display:none;
}
グラフの行にもイベントハンドラーがあり、非表示の列からデータを取得できます。
var view = new google.visualization.DataView(dataTable); //datatable contains col and rows
view.setColumns([0,1,3,4]); //only show these column
chart.draw(view, options); //pass the view to draw chat
コントロールラッパーで特定の列の値を使用したいが、その列をGoogle Chartsに表示したくない場合は、次のようにします。
1)すべての列をGoogleグラフのデータテーブルに追加します。
2)chartWrapperのoptionsに次のものを追加します。
// Set chart options
optionsUser = {
"series": {
0: {
color: "white",
visibleInLegend: false
}
}
};
3)上記の一連のコードで、0は折れ線グラフの最初の線を意味します。そのため、色が白に設定され、凡例の列名も非表示になります。
4)この方法は、列を非表示にする適切な方法ではありません。DataViewの使用をお勧めします。グラフにコントロールを追加するためにデータテーブルのデータを使用したいが、グラフにその列を表示したくない場合は、これが方法です。