Google Bubblechart - Таблица не имеет столбцов

1

Я пытаюсь внедрить Bubble Chart Google Visualization на основе этого примера.

РАБОЧАЯ ДЕМО http://jsfiddle.net/jm83y5tL/3/

Я преобразовал данные в json и хочу реализовать json-данные в функции, но он говорит, что таблица не имеет столбцов.

НЕ РАБОТАЕТ http://jsfiddle.net/029jhgac/3/

google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawSeriesChart);


function drawSeriesChart() {

      var rawdata = '[["ID","Life Expectancy","Fertility Rate","Region","Population"],["CAN",80.66,1.67,"North America",33739900],["DEU",79.84,1.36,"Europe",81902307],["DNK",78.6,1.84,"Europe",5523095],["EGY",72.73,2.78,"Middle East",79716203],["GBR",80.05,2,"Europe",61801570],["IRN",72.49,1.7,"Middle East",73137148],["IRQ",68.09,4.77,"Middle East",31090763],["ISR",81.55,2.96,"Middle East",7485600],["RUS",68.6,1.54,"Europe",141850000],["USA",78.09,2.05,"North America",307007000]]';

      // var testdata = JSON.parse(rawdata);

      // console.log(data);

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

            var options = {
        title: 'Correlation between life expectancy, fertility rate ' +
               'and population of some world countries (2010)',
        hAxis: {title: 'Life Expectancy'},
        vAxis: {title: 'Fertility Rate'},
        bubble: {textStyle: {fontSize: 11}}
      };

      var chart = new google.visualization.BubbleChart(document.getElementById('series_chart_div'));
      chart.draw(data, options);
}
Теги:
charts
google-visualization

1 ответ

0
Лучший ответ

для создания таблицы данных непосредственно из json,
json должен быть в определенном формате, найденном здесь...

Формат данных конструктора JavaScript Literal

в противном случае вы можете использовать → arrayToDataTable

var data = google.visualization.arrayToDataTable(JSON.parse(rawdata));

см. следующий рабочий фрагмент...

google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawSeriesChart);


function drawSeriesChart() {

      var rawdata = '[["ID","Life Expectancy","Fertility Rate","Region","Population"],["CAN",80.66,1.67,"North America",33739900],["DEU",79.84,1.36,"Europe",81902307],["DNK",78.6,1.84,"Europe",5523095],["EGY",72.73,2.78,"Middle East",79716203],["GBR",80.05,2,"Europe",61801570],["IRN",72.49,1.7,"Middle East",73137148],["IRQ",68.09,4.77,"Middle East",31090763],["ISR",81.55,2.96,"Middle East",7485600],["RUS",68.6,1.54,"Europe",141850000],["USA",78.09,2.05,"North America",307007000]]';


      var data = google.visualization.arrayToDataTable(JSON.parse(rawdata));

            var options = {
        title: 'Correlation between life expectancy, fertility rate ' +
               'and population of some world countries (2010)',
        hAxis: {title: 'Life Expectancy'},
        vAxis: {title: 'Fertility Rate'},
        bubble: {textStyle: {fontSize: 11}}
      };
      

      var chart = new google.visualization.BubbleChart(document.getElementById('series_chart_div'));
      chart.draw(data, options);
}
<script type="text/javascript" src="/loader.js"></script>

<div id="series_chart_div" style="width: 900px; height: 500px;"></div>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню