2017-01-19 6 views
0

Я пытаюсь установить конкретные цвета, которые будут использоваться для границ на моей линии графика, потому что в данный момент я только в состоянии рандомизации это:цветовые наборы для Chart.js цвет границы

var randomColorGenerator = function() { 
    return '#' + (Math.random().toString(16) + '0000000').slice(2, 8); 
}; 

newDataset = { 
    label: data[i].firstName+' '+data[i].lastName, 
    borderColor: randomColorGenerator(), 
    backgroundColor: "rgba(0,0,0,0)", 
    data: tmpscore, 
}; 

Идея заключается в том иметь как набор цветов, потому что случайные цвета не соответствуют теме, которую я создал, и задавались вопросом, есть ли способ выбрать случайное из пула цветов?

ответ

1

Что-то вроде следующего должен сделать трюк:

var colorArray = [["#FF4000", false], ["#81BEF7", false], ["#5882FA", false], 
       ["#04B404", false], ["#A901DB", false], ["#F5A9BC", false]]; 

// The following makes sure you don't use the same color twice for your datasets 
var color; 
while (true) { 
    var test = colorArray[parseInt(Math.random() * 6)]; 
    if (!test[1]) { 
     color = test[0]; 
     colorArray[colorArray.indexOf(test)][1] = true; 
     break; 
    } 
} 

newDataset = { 
    label: data[i].firstName+' '+data[i].lastName, 
    borderColor: color, 
    backgroundColor: "rgba(0,0,0,0)", 
    data: tmpscore, 
}; 

Вы в основном создать массив цветов, которые вы хотите (которые соответствуют вашему стилю) и случайным образом использовать один из них в наборе данных.

+0

Эй, спасибо за ответ, человек, похоже, теперь они все стали серыми? – PhpDude

+0

@PhpDude Это должно быть исправлено сейчас, я забыл сделать случайное число в целое число – tektiv

+0

Thats awesome, one LAST thing, есть способ взять случайный цвет, но использовать его только один раз, это выполнимо? – PhpDude