function getRandomColor() {
var letters = 'ABCDEF'.split('');
var color = '#';
for (var i = 0; i < 6; i++) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
}
Я использую JSCharts в проекте, над которым я работаю, и мне нужен другой цвет для каждого бара в диаграмме графика/диаграммы.Как генерировать случайный цвет для JSCharts
ниже пример работает нормально, но если у меня есть более 6 записей, то это предупредит мне сообщение:
JSChart»Цвет длина массива должен равняться длиной данных в случае пирогов и гистограммы
Как я могу генерировать цвет в зависимости от количества записей
Вот пример набора гистограмма данных:
$.getJSON("http://...", function (data) {
var array = $.map(data, function (data) {
return [[data.Name, parseInt(data.Id)]];
});
var colors = ['#FA5E1F', '#FDCB3F', '#71D743', '#D23333', '#BAE73F', '#B381C9'];
var myChart = new JSChart('graph', 'bar');
myChart.setDataArray(array);
myChart.colorizeBars(colors);
myChart.setTitle('Title');
myChart.setTitleColor('#8E8E8E');
myChart.setAxisNameX('Orgs');
myChart.setAxisNameY('%');
myChart.setAxisColor('#c6c6c6');
myChart.setAxisWidth(1);
myChart.setAxisNameColor('#9a9a9a');
myChart.setAxisValuesColor('#939393');
myChart.setAxisPaddingTop(60);
myChart.setAxisPaddingLeft(50);
myChart.setAxisPaddingBottom(60);
myChart.setTextPaddingBottom(20);
myChart.setTextPaddingLeft(15);
myChart.setTitleFontSize(11);
myChart.setBarBorderWidth(0);
myChart.setBarSpacingRatio(50);
myChart.setBarValuesColor('#737373');
myChart.setGrid(false);
myChart.setSize(616, 321);
//myChart.setBackgroundImage('chart_bg.jpg');
myChart.draw();
});
Вы пытались сделать функцию, которая генерирует цвета? Подумайте о том, что вы знаете. Вам нужно будет генерировать 6 шестнадцатеричных значений или 3 целых числа, которые меньше 256. Я бы хотел помочь, но похоже, что вы даже не пытались решить проблему самостоятельно. – howderek
ОК, обновил мой вопрос, там две проблемы, поэтому функция, которую я написал 1) Мне нужно пройти количество отсчетов 2) Я не возвращаю массив –