我正在研究highcharts列向下钻孔,我碰到了一点,如果没有。的列数超过9,高层图不会产生新的颜色。我在这里错过了什么吗?9列后耗尽Highcharts列钻取颜色?
Highcharts.getOptions().colors
返回9种颜色。
这里举例:http://jsfiddle.net/C96tE/1/
我正在研究highcharts列向下钻孔,我碰到了一点,如果没有。的列数超过9,高层图不会产生新的颜色。我在这里错过了什么吗?9列后耗尽Highcharts列钻取颜色?
Highcharts.getOptions().colors
返回9种颜色。
这里举例:http://jsfiddle.net/C96tE/1/
我用Java函数基于一个单一的颜色来产生颜色。 它基本上需要一种颜色 - 将其转换为HSV并向Hue添加一个步骤。 饱和度和价值是相当固定的一点随机性来获得变化。 我猜的功能还有待改进,但它产生漂亮的颜色:)
private Color getNextColorHue(Color color){
if(color != null){
float hsbVals[] = Color.RGBtoHSB(color.getRed(), color.getGreen(), color.getBlue(), null);
hsbVals[0] += STEP;
hsbVals[1] = (float) ((Math.random() * 0.3) + 0.7);
hsbVals[2] = (float) ((Math.random() * 0.2) + 0.7);
if (hsbVals[0] > 1) {
hsbVals[0] -= 1;
}
color = Color.getHSBColor(hsbVals[0], hsbVals[1], hsbVals[2]);
}
return color;
}
应该很容易把它转换成JS这一点: RGB to HSV color in javascript?
看到这个:http://jsfiddle.net/C96tE/2/
用途:
Highcharts.setOptions({
colors: ['#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4', '#EAEAEA', '#666999', '#006699']
});
这工作,如果列数是静态的,我的是一个动态的。生成随机颜色看起来是一种选择。我想知道如果我传递一个数字,highcharts是否有任何方法可以给我一个独特的颜色列表。 – gsk