Линия тренда Google-диаграммы не отображается - PullRequest
1 голос
/ 27 мая 2019

Линия тренда Google-графика не отображается.Пытался поместить код в vAxis, hAxis и только в настройках, но не повезло.Я знаю, что первый столбец должен быть числом или датой и т. Д., А мой первый столбец - это дата.

 <script type="text/javascript">
  data.sort([{column: 0}]);
  google.charts.load('current', {'packages':['corechart']});
  google.charts.setOnLoadCallback(drawChart);

  function drawChart() {
    var data = google.visualization.arrayToDataTable([
      ['Date', 'Sum'],
       <?php while($row = mysqli_fetch_assoc($result)) { ?>

      [<?php echo $row['date'] ?>,  <?php echo $row['col2'] ?> ],

    <?php } ?>
    ]);

    var options = {
         legend: { position: 'bottom' },
        title: 'Sum per day',
         hAxis : { textStyle : { fontSize: 10 } },
    vAxis: { viewWindowMode: 'explicit', viewWindow: { min: 0 } },
    trendlines: { 0: {} }
    };

    var chart = new google.visualization.LineChart(document.getElementById('line_chart'));
    chart.draw(data, options);
  }
</script>

enter image description here

1 Ответ

0 голосов
/ 29 мая 2019

при загрузке данных первый столбец необходимо преобразовать из строки в дату.
поместите значение из php в кавычки и в конструктор даты.

например,

[new Date('<?php echo $row['date'] ?>'),  <?php echo $row['col2'] ?> ],

, если у вас все еще есть проблемы с волнистой линией,
сортируйте данные перед рисованием ...

data.sort([{column: 0}]);
var chart = new google.visualization.LineChart(document.getElementById('line_chart'));
chart.draw(data, options);
...