核心图:散点图的随机颜色

时间:2012-07-17 17:23:25

标签: core-plot

我正在设计一个图表,上面会有多个散点图。每个数据集的散点图数量都会发生变化。我试图通过颜色来区分散点图,但是我遇到了一些麻烦。

目前,我有一个for循环,它为数组中的每个对象创建一个散点图。在for循环中,我根据随机数设置了一种颜色:

lineStyle.lineColor = [CPTColor colorWithComponentRed:((arc4random()%255)/255.0)green:((arc4random()%255)/255.0)blue:((arc4random()%255)/255.0)alpha: 1.0];

这有时会起作用,但颜色有时可能太难以与其他颜色区分开来,或者可能完全是白色。是否有更好的方法来生成随机颜色(可能类似于饼图生成颜色的方式)?

2 个答案:

答案 0 :(得分:1)

我不认为在这些问题中确实存在任何核心情节,它只是一个以编程方式生成配色方案的问题。

作为一个如何做到这一点的想法,而不仅仅是纯随机数,这是一些几乎伪造的代码,我会怎么做:

float red = 0;
float blue = 0;
float green = 0;
while(need more colors){
    float colorToInc = (arc4Random()%100)/100;
    float incValue = (arc4Random()%100)/500;//value between 0 and .2
    if(colorToInc < .3){
        red += incValue;
        if(red > 1)
            red -= 1;
    }else if(colorToInc < .7){
        green += incValue;
        if(green > 1)
            green -= 1;
    }else{
        blue += incValue;
        if(blue > 1)
            blue -= 1;
    }
    newcolor = [color with red:red blue:blue green:green];
}

答案 1 :(得分:0)

以下适用于我:

red = (arc4random()%100)/100.0;
green = (arc4random()%100)/100.0;
blue = (arc4random()%100)/100.0;
[UIColor colorWithRed:red green:green blue:blue alpha:1];
相关问题