一,拖控件,從控件組中拖出TChart控件.
二,雙擊TChart,按add添加所需數據組.
三,通過代碼對其屬性進行操作,修改.
四,錄入數據點,生成圖像.
以折線統計圖為例,以下記錄一些常用的接口及具體用法.
double * data ; int N=2048 ; //動態成生數據組。 data = new double[N] ; //整個Y軸向量一次性添加。注意總點數為N-1。 Series1->Clear() ; Series1->AddArray( data, N-1 ) ; //逐個數添加于X軸,Y軸為點號。 Series1->Clear() ; for( int ii=0; ii<N; ii++ ) Series1->AddX( ii/0.2, "", clBlue ) ; //逐個數添加于Y軸,X軸為點號。 Series1->Clear() ; for( int ii=0; ii<N; ii++ ) Series1->AddY( ii/0.2, "", clBlue ) ;
// Line類型的Series是逐個數據進行添加。 待所有的數據加入以后,從左到右邊線,數據輸入不分先后。 // Horizontal Line類型的Series是按數據添加順序進行畫圖,逐點連線。
Series1->Clear() ; for( int ii=0; ii<N; ii++ ) { data[ii] = sin( 2*3.14*0.05*ii/22.0+1.2 ) ; Series1->AddXY( ii/0.5, data[ii], "", clRed ) ; }
for( int ii=0; ii<N; ii++ ) { data[ii] = sin( 2*3.14*0.05*ii/40.0+1.0 ) ; Series1->AddXY( ii/0.5, data[ii], "", clRed ) ; }
//線型 線號 Series1->Pen->Width = 2 ; Series1->Pen->Style = PSDashDot ; //OutLine->Visible = true 情況下有起作用。 //Series1->OutLine->Visible = true ; Series1->LinePen->Color = clBlue ; Series1->OutLine->Color = clBlue ; Series1->Pen->Color = clBlue ;
// 線顏色 Series1->SeriesColor = clGreen ;
//軸名稱,字體,顏色,字號。下劃線. Series1->GetVertAxis->Title->Caption = "Y坐標軸" ; //GetVertAxis是Y軸 Series1->GetVertAxis->Title->Font->Color = clRed ;
Series1->GetHorizAxis->Title->Caption = "X坐標軸" ; //GetHorizAxis是X軸
Series1->GetHorizAxis->Title->Font->Name = "華文行楷" ; Series1->GetHorizAxis->Title->Font->Style=Series1->GetHorizAxis->Title->Font->Style<<fsUnderline ;//下劃線,fsBold為加粗
Series1->GetHorizAxis->Title->Font->Size = 24 ; Chart1->Title->Caption = "標題文字" ; Chart1->Title->Font->Size = 36 ; Chart1->Title->Font->Color = clGreen ; Chart1->Title->Font->Style.Contains(fsUnderline) ; Chart1->Title->Font->Name = "華文彩云" ; Chart1->Title->Font->Name = "@華文彩云" ; //@的作用是90度旋轉
//對數或性線坐標軸。 Chart1->Series[0]->GetVertAxis->Logarithmic = false ;
//坐標軸線型,線號,顏色。 Series1->GetHorizAxis->Axis->Style = psDash ; Series1->GetHorizAxis->Axis->Width = 3 ; Series1->GetHorizAxis->Axis->Color = clRed ;
//定制坐標軸范圍。 //Series1->GetHorizAxis->SetMinMax( -N/3, N ) ;
//每一段的線顏色不同 //Series1->ColorEachPoint = false ; Series1->ColorEachLine = true ;
//三維情況,線的深度 Series1->Depth = 50 ;
// 畫線為階梯形 ,正反階梯形 Series1->Stairs = true ; Series1->InvertedStairs = true ;
// mark顯示 Series1->Marks->Visible = true ;
//數據點突出顯示 Series1->Pointer->Visible = true ; Series1->Pointer->Style = psCircle ; Series1->Pointer->Color = clYellow ; Series1->Pointer->Pen->Color = clYellow ;
// 隱藏坐標軸,連同它的網格線 Series1->GetVertAxis->Visible = false ; Series1->GetHorizAxis->Visible = false ;
//標簽角度 Series1->GetVertAxis->LabelsAngle = 0 ; //標簽間的間距像素值 Series1->GetVertAxis->LabelsSeparation = 200 ; Series1->GetHorizAxis->Labels =false; //關閉標簽顯示 與網格是關聯的。
//網格顯示開關 Series1->GetVertAxis->Grid->Visible = false ; Series1->GetHorizAxis->Grid->Visible = true ; Series1->GetHorizAxis->Grid->Color = clRed ; Series1->GetHorizAxis->Grid->Width = 1 ; Series1->GetHorizAxis->Grid->Style = psSolid ;
//標簽字號,顏色 Series1->GetHorizAxis->LabelsFont->Size = 6 ; Series1->GetHorizAxis->LabelsFont->Color = clGray ; Series1->GetHorizAxis->AxisValuesFormat = "#0.0" ; Series1->GetHorizAxis->LabelsAngle = 45 ; Series1->GetHorizAxis->AxisValuesFormat = "0.0e-0" ; Series1->GetVertAxis->LabelsExponent = false ; //
// Tick (向坐標軸外) TickInner (向坐標軸內) Series1->GetHorizAxis->TickLength = 10 ; Series1->GetHorizAxis->TickInnerLength = 20 ; Series1->GetHorizAxis->TicksInner->Visible = false ;
//坐標軸方向 Series1->GetHorizAxis->Inverted = true ;
// 標簽間隔數值,正數,如果間隔過小,不足以顯示標簽,則自動采用更大的間隔。 Series1->GetHorizAxis->Increment = 500 ;
// 細網格 與細Ticker相關 Series1->GetHorizAxis->MinorTickCount = 4 ;
//細Ticker數,則平分段數為N+1. Series1->GetHorizAxis->MinorGrid->Visible = true ;
// 細網格 默認顏色是背景色,需要改變才能顯示出來。 Series1->GetHorizAxis->MinorGrid->Color = clBlue ; Series1->GetHorizAxis->MinorGrid->Style = psDot ;
// 細Ticker Series1->GetHorizAxis->MinorTicks->Visible = true ; Series1->GetHorizAxis->MinorTickLength = 5 ;
新聞熱點
疑難解答
圖片精選