hideColumns 和 getVIewColumns 与 Google 个图表

hideColumns and getVIewColumns with Google Charts

我正在尝试 show/hide columnChart 中的列,但没有按预期工作。

这是我的图表(效果很好):

function drawGraph() {
        $.ajax({        
            type: "POST",
            url: "./functions.php",
                data: { action: 'draw_bar_chart'
            },
            dataType: 'json',
            success: function(jsonData) {
                data_chart = new google.visualization.DataTable(jsonData[0]['data']);
                var options = jsonData[1]['options'];

                // Instantiate and draw the chart
                chartColumn = new google.visualization.ColumnChart(document.getElementById('chart_div')); 
                data_chart.getViewColumns();
                chartColumn.draw(data_chart, options);
            }
        });
    } 

但是,getViewColumns returns data_chart.getViewColumns is not a function

这是我打算在工作后隐藏按钮的方式 getViewColumns

$('.toggle_button').click(function () {
            data_chart.hideColumns([1]); // To be adjusted
            chart.draw(data_chart, options);
        }
    );

以下两种方法都是 DataView Class...

的成员
getViewColumns()
hideColumns(columnIndexes)

DataTable Class上不存在...

为了更正,您可以将数据 table 转换为数据视图...

data_chart = new google.visualization.DataTable(jsonData[0]['data']);

// convert data table to data view
data_chart = new google.visualization.DataView(data_chart);

var options = jsonData[1]['options'];

// Instantiate and draw the chart
chartColumn = new google.visualization.ColumnChart(document.getElementById('chart_div'));
data_chart.getViewColumns();
chartColumn.draw(data_chart, options);