Как нарисовать Google Charts (Combo Chart) с помощью шаблона django? - PullRequest
0 голосов
/ 15 мая 2019

Я создаю словарь в списке в django:

myList = [{'time':'week1','val':'0'},{'time':'week2','val':'1'}]

Я хотел показать на html-странице с помощью Google Combo Chart, но он не показывался:

var data = google.visualization.arrayToDataTable([['Week', 'val']]);
                {% for i in myList%}
                    data.addRows([['{{i.time}}','{{i.val}}']]);
                {% endfor %}

и, кроме того, я добавляю пустую строку позади, она может наконец показать график.

var data = google.visualization.arrayToDataTable([['Week', 'val'],['',  0]]);
                {% for i in myList%}
                    data.addRows([['{{i.time}}','{{i.val}}']]);
                {% endfor %}

мой вопрос:

1.Почему "arrayToDataTable" нужно 2 строки при создании?

2.и как мне создать Combo Chart, используя шаблон django, без вставки пустой строки?

очень спасибо!

1 Ответ

1 голос
/ 15 мая 2019

Необходимые данные должны вызываться через ajax или передаваться непосредственно в шаблон.Вот пример того, как сделать это через ajax:

function drawVisualization() {
    // Some raw data
    var json = $.ajax({
                    url: 'get_json_rank.php',
                    dataType: 'json',
                    async: false
                }).responseText;

    var data = new google.visualization.DataTable(json);

    var options = {
        title : 'Restaurant Ranking Stats',
        vAxis: {title: "Business Growth"},
        hAxis: {title: "Restaurants"},
        seriesType: "bars",
        series: {1: {type: "line"}}
    };              
    var chart = new 
google.visualization.ComboChart(document.getElementById('rank_chart'));
chart.draw(data, options);
}
...