2017-02-10 84 views
0

我正在使用charts.js庫,我需要爲圖表單元生成隨機顏色。Javascript生成隨機顏色,具有同等亮點

我看到了很多關於如何這樣做的答案。例如Anatoliy answer

事情是,我需要它等價的高亮顏色以及(或任何接近的顏色)來實現charts.js Pie的'highlight'字段。

{ 
    value: 300, 
    color: "#30a5ff", 
    highlight: "#62b9fb", 
    label: "Label" 
}, 
+0

如果否決,請至少提供一個解釋。我認爲這是使用charts.js時非常常見的情況。 – Jacob

+1

原始顏色和高光顏色之間的關係是什麼?色彩補充?只有兩種隨機不同的顏色?相同的色調,但更黑/更亮? ... –

+0

正如我寫的,任何接近的顏色都會很好,明亮的會是完美的。 – Jacob

回答

2

這是許多可能的解決方案之一。獲得0到360之間的隨機色調。對於「高光」顏色,對於主色使用100%飽和度和50%亮度,對於「高光」色使用100%飽和度,並且使用80%亮度。只要繼續點擊「運行代碼片斷」按鈕即可查看更多隨機顏色。

document.querySelectorAll('div').forEach(d => { 
 
    const hue = Math.floor(Math.random() * 360); 
 
    d.style.backgroundColor = `hsl(${hue}, 100%, 50%)`; 
 
    d.style.borderColor  = `hsl(${hue}, 100%, 80%)`; 
 
});
div { 
 
    display: inline-block; 
 
    width: 20px; 
 
    height: 20px; 
 
    border: solid 5px; 
 
    margin: 5px; 
 
}
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div>