在飞行中刷新谷歌可视化

Refresh Google Visualization on the fly

本文关键字:谷歌 可视化 刷新 飞行      更新时间:2023-09-26

我目前正在通过谷歌可视化创建一个谷歌图表,我希望能够刷新/更新这个图表上的一个按钮点击。我已经尝试了很多不同的方法来做到这一点,但没有一个是有效的,所以我正在寻找任何人可以提出的任何建议。我目前的平台是ASP.net (c#)和谷歌的东西是写在javascript/jquery(显然)。谢谢!

Gviz可以选择用JSON数据填充图表,所以,你可以用jquery很容易地做到这一点,只需调用你的服务器来获取一组新的数据,让它返回JSON,然后将其传递给绘制图表的函数。

你的jquery/javascript看起来像这样:

    function drawMyChart(data) {
        // stuff to draw chart using the contents of data
        // data should be Gviz Data Table in JSON format
        // your server needs to output this
        var dt = new google.visualization.DataTable(data)
        // rest of your stuff, just like standard gviz
    }
    function makeAjaxCall() {
        $.ajax({
            url: '/path/to/data/json',
            sucess: drawMyChart(a),
            dataType: 'json' // this is important, have it interpreted as json
        });
    }
// html somewhere
<input type='button' onclick='makeAjaxCall()'>Go</input>

关于正确格式化JSON响应,有几个库可以帮助您,尽管我不知道您提到的语言中的任何具体内容。下面是一个用python写的例子。

如果您遇到困难,您可以像下面这样转储数组中的所有条目:

  [[name, age],[john, 25],[paul, 20]]

并使用google.visualization.arrayToDataTable在它从服务器返回时将其解释为JSON。

希望对你有帮助。