2013-01-06 20 views

回答

0

我用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?

0

看到这个:http://jsfiddle.net/C96tE/2/

用途:

Highcharts.setOptions({ 
colors: ['#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263',  '#6AF9C4', '#EAEAEA', '#666999', '#006699'] 
}); 
+0

这工作,如果列数是静态的,我的是一个动态的。生成随机颜色看起来是一种选择。我想知道如果我传递一个数字,highcharts是否有任何方法可以给我一个独特的颜色列表。 – gsk