有關TChart座標的怪問題? |
尚未結案
|
cc12345
一般會員 發表:32 回覆:35 積分:13 註冊:2005-01-24 發送簡訊給我 |
大家好,
在TChart裡頭分兩次畫點, 出現了以下的怪問題, 請問是何原因?
Series1->Clear();
TColor color = StringToColor( "clRed" );
TColor color2 = StringToColor( "clBlue" ); int xx[3] = { 10,20,30 };
int yy[3] = { 100,200,300 };
for( int i=0;i<3;i )
{
Series1->Add( yy[i], xx[i], color );
} Series1->Add( 250, 25, color2 ); 另外, 有沒有辦法讓 TPointSeries 與 TLineSeries並存, 並且使用同樣的座標,不致出現如上的情形.
謝謝 !
|
cc12345
一般會員 發表:32 回覆:35 積分:13 註冊:2005-01-24 發送簡訊給我 |
sorry, 剛剛上傳圖片忘了貼連結..
引言: 大家好, 在TChart裡頭分兩次畫點, 出現了以下的怪問題, 請問是何原因? Series1->Clear(); TColor color = StringToColor( "clRed" ); TColor color2 = StringToColor( "clBlue" ); int xx[3] = { 10,20,30 }; int yy[3] = { 100,200,300 }; for( int i=0;i<3;i++ ) { Series1->Add( yy[i], xx[i], color ); } Series1->Add( 250, 25, color2 ); 另外, 有沒有辦法讓 TPointSeries 與 TLineSeries並存, 並且使用同樣的座標,不致出現如上的情形. 謝謝 ! |
chi30
一般會員 發表:5 回覆:17 積分:4 註冊:2005-01-20 發送簡訊給我 |
Add 的用法不是你想的那樣.Add 是用在你的x軸不是數值時的用法.
例如: 三個小孩的體重比較 **
**
** **
** ** **
** ** **
** ** **
________________________________
小明 小王 小強 正確的方方法是要用 AddXY(xValue, yValue). 你的其中一點是藍色的. 這就必須把 Series::ColorEachPoint 這個值改成true 然後把點加進來後再一一改色.
請參考下面的寫法 . Chart1->Series[0]->ColorEachPoint = true;
Chart1->Series[0]->Clear(); int xx[4] = { 10,20,30,25};
int yy[4] = { 100,200,300,250 }; for( int i=0;i<4;i )
{
Chart1->Series[0]->AddXY( xx[i], yy[i]);
} for( int i=0;i<4;i )
Chart1->Series[0]->ValueColor[i] = clYellow;
Chart1->Series[0]->ValueColor[2] = clBlue; YoHo~~~
------
YoHo~~~ |
chi30
一般會員 發表:5 回覆:17 積分:4 註冊:2005-01-20 發送簡訊給我 |
Add 的用法不是你想的那樣.Add 是用在你的x軸不是數值時的用法.
例如: 三個小孩的體重比較 | **
|
| **
| **
|
|
|________________________________
小明 小王 小強 正確的方方法是要用 AddXY(xValue, yValue). 你的其中一點是藍色的. 這就必須把 Series::ColorEachPoint 這個值改成true 然後把點加進來後再一一改色.
請參考下面的寫法 . Chart1->Series[0]->ColorEachPoint = true;
Chart1->Series[0]->Clear(); int xx[4] = { 10,20,30,25};
int yy[4] = { 100,200,300,250 }; for( int i=0;i<4;i )
{
Chart1->Series[0]->AddXY( xx[i], yy[i]);
} for( int i=0;i<4;i )
Chart1->Series[0]->ValueColor[i] = clYellow;
Chart1->Series[0]->ValueColor[2] = clBlue; YoHo~~~
------
YoHo~~~ |
chi30
一般會員 發表:5 回覆:17 積分:4 註冊:2005-01-20 發送簡訊給我 |
|
cc12345
一般會員 發表:32 回覆:35 積分:13 註冊:2005-01-24 發送簡訊給我 |
|
chi30
一般會員 發表:5 回覆:17 積分:4 註冊:2005-01-20 發送簡訊給我 |
引言: 謝謝chi30, 問題解決了, 真的是太感謝. 想再請問, 為什麼Add不能用在x軸是數值的狀況? 照我的例子我之前也是可以正確畫出我想要的點呀? 請不吝指教, 謝謝.Add function 的設計就是這樣. Add(yValue, Label) 中傳入的第一個變數是y作標值, 第二個變數是 在x 軸的標籤 (不是數值!!) 你可以把你程式中x[3]改成{30,20,10} 你執行一下你會發現 在 x 軸的座標順序變成 30, 20, 10, 25. 因為Add會把x[i] 當成標籤 而不是數值. 了解了嗎? YoHo~~~
------
YoHo~~~ |
chi30
一般會員 發表:5 回覆:17 積分:4 註冊:2005-01-20 發送簡訊給我 |
引言: 謝謝chi30, 問題解決了, 真的是太感謝. 想再請問, 為什麼Add不能用在x軸是數值的狀況? 照我的例子我之前也是可以正確畫出我想要的點呀? 請不吝指教, 謝謝.Add function 的設計就是這樣. Add(yValue, Label) 中傳入的第一個變數是y作標值, 第二個變數是 在x 軸的標籤 (不是數值!!) 你可以把你程式中x[3]改成{30,20,10} 你執行一下你會發現 在 x 軸的座標順序變成 30, 20, 10, 25. 因為Add會把x[i] 當成標籤 而不是數值. 你之前之所以會成功是因為你輸入的順序剛好依照x 軸的大小. 如果還是不懂就照我上面的說法去玩玩. 應該不難理解的. YoHo~~~
------
YoHo~~~ |
cc12345
一般會員 發表:32 回覆:35 積分:13 註冊:2005-01-24 發送簡訊給我 |
了解了~ 謝謝.
引言:引言: 謝謝chi30, 問題解決了, 真的是太感謝. 想再請問, 為什麼Add不能用在x軸是數值的狀況? 照我的例子我之前也是可以正確畫出我想要的點呀? 請不吝指教, 謝謝.Add function 的設計就是這樣. Add(yValue, Label) 中傳入的第一個變數是y作標值, 第二個變數是 在x 軸的標籤 (不是數值!!) 你可以把你程式中x[3]改成{30,20,10} 你執行一下你會發現 在 x 軸的座標順序變成 30, 20, 10, 25. 因為Add會把x[i] 當成標籤 而不是數值. 你之前之所以會成功是因為你輸入的順序剛好依照x 軸的大小. 如果還是不懂就照我上面的說法去玩玩. 應該不難理解的. YoHo~~~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |