Google Lines Chart - логика добавления строк - PullRequest
0 голосов
/ 25 января 2012

Я использую Google Chart, и у меня есть следующий пример:

<html>
  <head>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Year');
        data.addColumn('number', 'Sales');
        data.addColumn('number', 'Expenses');
        data.addRows([
          ['2004', 1000, 400],
          ['2005', 1170, 460],
          ['2006',  860, 580],
          ['2007', 1030, 540]
        ]);

        var options = {
          width: 400, height: 240,
          title: 'Company Performance'
        };

        var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="chart_div"></div>
  </body>
</html>

Когда я добавляю строки без каких-либо данных в последний столбец, диаграмма Google не может нарисовать диаграмму. Например, с этими данными я не получаю никакой диаграммы:

    data.addRows([
      ['2004', 1000, 400],
      ['2005', 1170, 460],
      ['2006',  860, 580],
      ['2007', , ]
    ]);

но если я добавлю последний столбец, см. Ниже, он будет работать.

    data.addRows([
      ['2004', 1000, 400],
      ['2005', 1170, 460],
      ['2006',  860, 580],
      ['2007', , 122]
    ]);

Может кто-нибудь объяснить мне: какая логика стоит за этим?

Спасибо!

1 Ответ

0 голосов
/ 19 мая 2012

Вероятно, потому, что диапазон диаграммы заканчивается в последней строке, когда вы ее создали.Если вы добавите больше строк, диапазон диаграммы не изменится, поэтому вам придется либо настроить диапазон (не уверен, возможно ли это с помощью API), либо создать новую диаграмму.

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