Я пытаюсь нарисовать график с данными, поступающими из php-кода в виде массива, переданного в функцию draw. Цвета показывают, если я использую PieChart, но NOT ColumnChart. Как я могу заставить бары показывать разные цвета?
Вот мой сценарий:
<script type="text/javascript">
google.load("visualization", "1.1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable(<?php
$baseText = '';
$trimmedPercentbf = '';
$js_arraybf = "['Percentage','$baseText'],";
$counter = 0;
$getBasicFunctionality = [SQL Query Here];
while ($basicFunctionality = dbfetch($getBasicFunctionality)):
$baseTextbf = $basicFunctionality["sat_lower_level_text"];
$weightsTotal = $basicFunctionality["total"];
$average = $basicFunctionality["weightAVG"];
$countTotal = $basicFunctionality["total_users"];
$counter += $countTotal;
$percentage = ($average)/5 * 100;
$trimmedPercentbf = number_format($percentage, $decimals=2);
if($counter != $countTotal):
$sep = ",";
else:
$sep = ",";
endif;
$js_arraybf .= "[ '$baseTextbf', $trimmedPercentbf ]".$sep;
endwhile;
$js_array = rtrim($js_arraybf, ', ');
print "[".$js_array."]";
?>);
var chart = new google.visualization.ColumnChart(document.getElementById('community'));
chart.draw(data, {width: 800, height: 800, is3D: true,/*vAxis: {format:'#%'},pieHole: 0.4,*/colors: ['#242424','#437346','#97D95C','#7D252B','#EB9781','#FFD2B5','#4A4147','#3796c8', 'red','yellow','green', 'blue'],axisFontSize:12, title: '2.Leadership Management & Communication'});
}
</script>
//Примеры данных, которые поступают из PHP-кода в виде массива, следующие: var data = google.visualization.arrayToDataTable([['Percentage', ''], ['label1', 51.43], ['label2', 60,00], ['label3', 66.67], ['label4', 60.00], ['label5', 66.67], ['label7', 100.00], ['label8', 100.00], ['label9', 100.00 ], ['label10', 100.00], ['label11', 100.00], ['label12', 80.00], ['label13', 40.00]]);
//Текущий график, который имеет только один цвет, выглядит следующим образом:
//Мне нужен граф, чтобы он выглядел как тот, который я использовал jqbargraph, но не могу использовать jq, поскольку он вызывает проблемы с макетами с моими длинными метками:
Цвета, которые вы определили с помощью colors
-option, относятся к столбцам.
Если вы хотите установить цвета для строк, как в вашем случае, вы должны сделать это через столбец стиля, например:
var data = new google.visualization.arrayToDataTable([
['Percentage', '',{ role: 'style' }],
['label1', 51.43, '#242424'],
['label2', 60.00, '#437346'],
['label3', 66.67, '#97D95C'],
['label4', 60.00, '#7D252B'],
['label5', 66.67, '#EB9781'],
['label7', 100.00,'#FFD2B5'],
['label8', 100.00,'#4A4147'],
['label9', 100.00,'#3796c8'],
['label10', 100.00,'red'],
['label11', 100.00,'yellow'],
['label12', 80.00, 'green'],
['label13', 40.00, 'blue']
]);