0

複数の散布図を持つグラフを設計しています。散布図の数は、データのセットごとに異なります。散布図を色で区別しようとしていますが、問題が発生しています。

現在、配列内の各オブジェクトの散布図を作成する for ループがあります。for ループ内で、乱数に基づいて色を設定します。

lineStyle.lineColor = [CPTColor colorWithComponentRed:((arc4random()%255)/255.0) 緑:((arc4random()%255)/255.0) 青:((arc4random()%255)/255.0) アルファ:1.0];

これはうまくいく場合もありますが、色が他の色と区別するのが難しい場合や、完全に白である場合があります。ランダムな色を生成するより良い方法はありますか (円グラフが色を生成する方法に似たものかもしれません)?

4

2 に答える 2

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];
}
于 2012-07-17T21:10:38.513 に答える
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];
于 2014-05-07T16:32:39.180 に答える