代码之家  ›  专栏  ›  技术社区  ›  ficuscr

如何在不重发数据的情况下重新绘制谷歌可视化图表?

  •  2
  • ficuscr  · 技术社区  · 6 年前

    我想调整一下 Google Visualization Bar Chart 在诸如改变窗口大小之类的事件上。

    我能做到这一点的唯一方法就是 .draw 方法并再次传入图表数据。这似乎是一个愚蠢的解决方案,因为数据没有改变,只是窗口的大小。

    试图打电话 draw 没有数据参数会导致错误 Data table is not defined .

    难道没有办法更新图表而不必经历我在创作过程中所做的相同步骤吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   WhiteHat    6 年前

    建议使用 ChartWrapper Class

    您可以使用包装器创建任何图表,
    创建时分配数据和选项,
    以及 draw 方法不需要参数…

    var wrapper = new google.visualization.ChartWrapper({
      chartType: 'BarChart',
      dataTable: data,
      options: chartOptions,
      containerId: 'chart_div'
    });
    wrapper.draw();
    

    一定要包括 'controls' 加载时打包…

    google.charts.load('current', {packages:['controls', 'corechart']}).then(function () {...