【问题标题】:Obtain DataTable from existing Google visualization chart从现有的 Google 可视化图表中获取 DataTable
【发布时间】:2012-02-11 03:39:50
【问题描述】:

我已经绘制了一个谷歌可视化表格图表。如何获取用于绘制图表的 DataTable?例如,如何获取前 5 行第 1 列的值。

【问题讨论】:

    标签: google-visualization


    【解决方案1】:

    如果您使用的是ChartWrapper,您可以像这样获取 DataTable:

      var wrapper = new google.visualization.ChartWrapper({
        chartType: 'ColumnChart',
        dataTable: [['Germany', 'USA', 'Brazil', 'Canada', 'France', 'RU'],
                    [700, 300, 400, 500, 600, 800]],
        options: {'title': 'Countries'},
        containerId: 'visualization'
      });
      wrapper.draw();
      // get the DT
      var dt = wrapper.getDataTable();
      console.log(dt);
    

    如果要从DataTable中获取值,可以使用DataTable的getValue(rowIndex, columnIndex)方法:

    var dt = wrapper.getDataTable();
    alert(dt.getValue(3, 1));
    

    【讨论】:

    • 如何从已有的图表构造warpper,即datatable已经被丢弃了?
    • 我不确定我明白你的意思.. 你的意思是,从页面上已经绘制的图表中获取 DataTable?您能否在帖子中包含您的代码并显示问题所在?
    • 我的意思是,我在一个函数中绘制图表,有没有办法在另一个函数中使用 ChartWrapper(不使用全局变量)?
    • 这完全取决于你。我可能会使用命名空间做一些事情;在我的脚本顶部,例如:var myapp = {};,然后可能是mayapp.visualizations = {};,然后当您绘制图表时:mayapp.visualizations.myChart = new google.visualization.ChartWrapper(... rest of code ...)。然后你可以在别处引用它。不过,这更像是一个管理问题,而不是 gviz。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多