Назначьте разный цвет каждой полосе в гугл-графике - PullRequest
0 голосов
/ 29 октября 2011

Я пытаюсь назначить разные цвета каждому столбцу в столбчатой ​​диаграмме, но при попытке каждый столбец получает один и тот же цвет.

Код:

  // Load the Visualization API and the piechart package.
  google.load('visualization', '1.0', {'packages':['corechart']});

  // Set a callback to run when the Google Visualization API is loaded.
  google.setOnLoadCallback(drawChart);

  // Callback that creates and populates a data table, 
  // instantiates the pie chart, passes in the data and
  // draws it.
  function drawChart() {

  // Create the data table.
  var data = new google.visualization.DataTable();
  data.addColumn('string', 'Something');
  data.addColumn('number', 'Numbers');
  data.addRows([
    ['A', 40],
    ['B', 17],
    ['C', 7]
  ]);

  // Set chart options
  var options = {'title':'Megafon 27/10 2011',
                 'width':1300,
                 'height':600,
         'colors' : ['red', 'blue', 'green']
        };

  // Instantiate and draw our chart, passing in some options.
  var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
  chart.draw(data, options);
}

Я знаю, что это, вероятно, действительно легко, но сейчас я не вижу этого. Пожалуйста, помогите мне.

Спасибо

Lars

1 Ответ

4 голосов
/ 29 октября 2011

Изменить на:

...
// Create the data table.
var data = new google.visualization.DataTable();

var raw_data = [
    ['A', 40],
    ['B', 17],
    ['C', 7]
];

data.addColumn('string', 'Columns');
for (var i = 0; i  < raw_data.length; ++i) {
    data.addColumn('number', raw_data[i][0]);
}
data.addRows(1);
data.setValue(0, 0, 'row');
for (var i = 0; i  < raw_data.length; ++i) {    
    data.setValue(0, i+1, raw_data[i][1]);
}

// Set chart options
...

=== ОБНОВЛЕНИЕ ===

Упрощенная версия:

...
// Create the data table.
var data = new google.visualization.DataTable();

var raw_data = {
    'A':   40
    , 'B': 17
    , 'C':  7
};

data.addRows(1);
var i = 0;
for (var index in raw_data) {
    data.addColumn('number', index);
    data.setValue(0, i++, raw_data[index]);
}

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