Обновите визуализацию Google на лету - PullRequest
1 голос
/ 29 ноября 2011

В настоящее время я создаю диаграмму Google с помощью визуализации Google и хочу обновить / обновить эту диаграмму одним нажатием кнопки.Я пробовал много разных способов сделать это, но ни один из них не работает, поэтому я ищу любые предложения, которые кто-нибудь может сделать.Моя текущая платформа - ASP.net (с C #), а материал Google написан в javascript / jquery (очевидно).Спасибо!

1 Ответ

1 голос
/ 30 ноября 2011

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.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...