全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1376
推到 Plurk!
推到 Facebook!

如何改變chart的顏色

答題得分者是:herbert2
rve308
一般會員


發表:7
回覆:0
積分:1
註冊:2008-12-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-12-12 23:06:18 IP:61.228.xxx.xxx 訂閱
之前問的不好請各位原諒

例如:

for(int i=1;i<=10;i )
{
在這裡可以跑出10種顏色;
}




double x ,y ;
for (int i = 1 ; i <=10 ; i )
{
x = (rand() rand()) % 1000 1;
y = (rand()*rand()) % 1000 1;
Series1->AddXY(x,y);
}


我想要每一個點顏色都不一樣,但是我有不希望這樣打

for(int i=1;i<=10;i )
{
if(i==1)
Form1->Series3->AddXY(impermanentx,impermanenty,"",clBlack);
if(i==2)
Form1->Series3->AddXY(impermanentx,impermanenty,"",clGreen);
if(i==3)
Form1->Series3->AddXY(impermanentx,impermanenty,"",clNavy);
if(i==4)
Form1->Series3->AddXY(impermanentx,impermanenty,"",clGray);
if(i==5)
Form1->Series3->AddXY(impermanentx,impermanenty,"",clYellow);
if(i==6)
Form1->Series3->AddXY(impermanentx,impermanenty,"",clWhite);
if(i==7)
Form1->Series3->AddXY(impermanentx,impermanenty,"",clBlue);
if(i==8)
Form1->Series3->AddXY(impermanentx,impermanenty,"",clMaroon);
if(i==9)
Form1->Series3->AddXY(impermanentx,impermanenty,"",clAqua);
if(i==10)
Form1->Series3->AddXY(impermanentx,impermanenty,"",clLime);
}



herbert2
尊榮會員


發表:58
回覆:640
積分:894
註冊:2004-04-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-12-12 23:49:48 IP:211.72.xxx.xxx 訂閱
依據您的例子, 可有兩種寫法:
其一, 用 switch 取代 if, 可能是您較不喜歡的方式:
int i;
for (i=1; i <= 10; i ) {
switch (i) {
case 1:
Form1->Series3->AddXY(impermanentx,impermanenty,"",clBlack);
break;
case 2:
Form1->Series3->AddXY(impermanentx,impermanenty,"",clGreen);
break;
// . . . . . .
case 9:
Form1->Series3->AddXY(impermanentx,impermanenty,"",clAqua);
break;
default:
Form1->Series3->AddXY(impermanentx,impermanenty,"",clLime);
}
}
其二, 用陣列與迴圈對應, 可能是您較喜歡的方式:
TColor MyColor[10] = {clBlack, clGreen, . . . ., clAqua,clLime};
for (int i=1; i <= 10; i ) {
Form1->Series3->AddXY(impermanentx,impermanenty,"",MyColor[i-1]);
}

for (int i=0; i < 10; i ) {
Form1->Series3->AddXY(impermanentx,impermanenty,"",MyColor[i]);
}


===================引 用 rve308 文 章===================
我想要每一個點顏色都不一樣,但是我有不希望這樣打
for(int i=1;i<=10;i )
{
if(i==1)
Form1->Series3->AddXY(impermanentx,impermanenty,"",clBlack);
if(i==2)
Form1->Series3->AddXY(impermanentx,impermanenty,"",clGreen);
// . . . . . .
if(i==9)
Form1->Series3->AddXY(impermanentx,impermanenty,"",clAqua);
if(i==10)
Form1->Series3->AddXY(impermanentx,impermanenty,"",clLime);
}
系統時間:2024-04-26 16:42:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!