JSFiddle - React, Tailwind, and code Playground
HTML
Star colors!
<div id="result"></div>
JavaScript
function get_color_for(value) {
var i, h,s,b,stops = [
[-0.63, [228, 100, 80]],
[0.165, [224, 100, 90]],
[0.33, [240, 100, 98]],
[0.495, [64, 100, 92]],
[0.66, [52, 100, 82]],
[0.825, [28, 100, 66]],
[2.057, [6, 95, 65]]
];
if (value <= stops[0][0]) return stops[0][1];
if (value >= stops[stops.length - 1][0]) return stops[stops.length - 1][1];
i = 0;
while (value > stops[i][0])
i++;
value -= stops[i-1][0];
value /= (stops[i][0]-stops[i-1][0]);
h = stops[i-1][1][0]+(stops[i][1][0]-stops[i-1][1][0])*value;
s = stops[i-1][1][1]+(stops[i][1][1]-stops[i-1][1][1])*value;
b = stops[i-1][1][2]+(stops[i][1][2]-stops[i-1][1][2])*value;
return [h,s,b];
}
count=0;
for (i=-1; i<2.5; i += 0.1)
{
c = get_color_for(i);
$("#result").append("<p id='res_"+count+"'>result: "+c+"</p>");
$("#res_"+count).css("background-color", "hsl(" + c[0] + "," + c[1] + "%," + c[2] + "%)");
count++;
}