具體步驟:
一,拖控件,從控件組中拖出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 ;
摘錄於百度文庫,加了少許注釋.以備后用.