Диаграмма Google с использованием https://www.gstatic.com/charts/loader.js - PullRequest
0 голосов
/ 18 января 2019

У меня есть простой код, который загружает массив содержимого и рисует круговую диаграмму.

<script type=text/javascript src=https://www.gstatic.com/charts/loader.js></script> 
<script type=text/javascript> 
      google.charts.load('current', {'packages':['corechart']});
      google.charts.setOnLoadCallback(drawChart);

      function drawChart() {

        var data = google.visualization.arrayToDataTable([
          ['Task', 'Hours per Day'],
          ['Work',     11],
          ['Eat',      2],
          ['Commute',  2],
          ['Watch TV', 2],
          ['Sleep',    7]
        ],false);

        var options = {
          title: 'My Daily Activities'
        };

        var chart = new google.visualization.PieChart(document.getElementById('piechart'));

        chart.draw(data, options);
      }
    </script>

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

Я хочу, чтобы таблица данных была прочитана из текстового файла, содержание которого приведено ниже:

Task,Hours Per Day
Work,11
Eat,2
Sleep,7

Есть ли способ напрямую загрузить текстовый файл в приведенном выше коде? Файл может продолжать изменяться.

1 Ответ

0 голосов
/ 18 января 2019

вы можете использовать jquery для получения текстового файла и преобразования в массив.
вам нужно будет включить два файла jquery, сам jquery и jquery csv,
наряду с библиотекой диаграмм Google.

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

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-csv/0.71/jquery.csv-0.71.min.js"></script>
<script src="https://www.gstatic.com/charts/loader.js"></script> 
<script> 
  google.charts.load('current', {
    packages: ['corechart']
  }).then(function () {
    var options = {
      title: 'My Daily Activities',
      height: 500,
      width: 900
    };

    var chart = new google.visualization.PieChart(document.getElementById('piechart'));

    // get text file
    $.get('pie.txt', function(txt) {
      // convert csv to an array
      var arrayData = $.csv.toArrays(txt, {onParseValue: $.csv.hooks.castToScalar});

      var data = google.visualization.arrayToDataTable(arrayData);
      chart.draw(data, options);
    });
  });
</script>

<div id="piechart"></div>
...