最近開(kāi)發(fā)要使 用圖表,Delphi里提供了圖表開(kāi)發(fā)的控件TChart,可惜幫助里沒(méi)有DEMO代碼,上網(wǎng)搜索了一下,竟然發(fā)現(xiàn)文章也少的可憐。沒(méi)辦法,自己豐衣足 食,寫代碼試用,看幫助,讀代碼,搞了半天大概弄明白了TChart的使用方式,下面寫一下幾個(gè)常見(jiàn)問(wèn)題的解決。
1.如何寫一個(gè)TChart的Hello World?
放一個(gè)控件到窗體上,然后寫代碼加入一個(gè)折線數(shù)據(jù)序列:
var
Series: TLineSeries;
begin
Series := TLineSeries.Create(Chart1);
Series.Add(100, 'aaa', clRed);
Series.Add(200, 'AAA', clGreen);
Chart1.AddSeries(Series);
end;
這樣就會(huì)生成一個(gè)簡(jiǎn)單的折線圖表,要生成其它類型的數(shù)據(jù)圖表,可以添加不同的數(shù)據(jù)序列(各種圖表的序列類型可以參考幫助文檔)。
2.如何設(shè)置圖表的標(biāo)題?
TChart組件提供了Title屬性可以這是圖表的標(biāo)題,包括標(biāo)題的內(nèi)容、字體、對(duì)齊方式等都可以通過(guò)Title屬性設(shè)置。
最簡(jiǎn)單的設(shè)置方式:
Chart1.Title.Text.Text := '圖表的標(biāo)題';
3.如何修改圖表的背景顏色和整個(gè)圖表的顏色?
TChart是一個(gè)窗體控件,可以通過(guò)修改Color屬性設(shè)置圖表顏色,這是一種最簡(jiǎn)單的方式:
Chart1.Color := clWhite;
修改圖表部分的背景色可以通過(guò)BackColor屬性來(lái)實(shí)現(xiàn):
Chart1.BackColor := clGreen;
此外,TChart還提供了漸變的背景支持,通過(guò)Gradient控制:
Chart1.Gradient.Visible := True;
Chart1.Gradient.Direction := gdFromTopLeft;
Chart1.Gradient.StartColor := clGreen;
Chart1.Gradient.EndColor := clYellow;
4.TChart的3D效果如何控制?
TChart提供了View3D屬性,控制是否使用3D效果,View3dWalls屬性控制是否顯示左側(cè)的3D墻效果
5.如何不顯示圖表控件生成圖表?
很遺憾,TChart是一個(gè)Windows窗體控件,必須依附一個(gè)窗體或Windows控件才能使用。如果要不顯示TChart的話,可以將TChart的Visible屬性設(shè)為False來(lái)使用。下面的例子創(chuàng)建了一個(gè)隱藏的TChart來(lái)生成圖表:
var
Chart: TChart;
S: TChartSeries;
TmpFile: string;
begin
Chart := TChart.Create(nil);
try
Chart.Parent := Application.MainForm;
Chart.Visible := False;
Chart.Title.Text.Text := '測(cè)試圖表';
S := TBarSeries.Create(Chart);
Chart.AddSeries(S);
S.Title := '嘿嘿';
S.AddXY(1, 56, '一月', clGreen);
S.AddXY(2, 67, '二月', clYellow);
S.AddXY(3, 34, '三月', clBlue);
S.AddXY(4, 78, '四月', clRed);
Chart.View3D := False;
Chart.BackColor := clWhite;
Chart.Gradient.StartColor := clWhite;
Chart.Gradient.EndColor := clWhite;
Chart.Gradient.Visible := True;
TmpFile := Application.ExeName + '.bmp';
Chart.SaveToBitmapFile(TmpFile);
Image1.Picture.LoadFromFile(TmpFile);
finally
Chart.Free;
end;
end;
1.如何寫一個(gè)TChart的Hello World?
放一個(gè)控件到窗體上,然后寫代碼加入一個(gè)折線數(shù)據(jù)序列:
var
Series: TLineSeries;
begin
Series := TLineSeries.Create(Chart1);
Series.Add(100, 'aaa', clRed);
Series.Add(200, 'AAA', clGreen);
Chart1.AddSeries(Series);
end;
這樣就會(huì)生成一個(gè)簡(jiǎn)單的折線圖表,要生成其它類型的數(shù)據(jù)圖表,可以添加不同的數(shù)據(jù)序列(各種圖表的序列類型可以參考幫助文檔)。
2.如何設(shè)置圖表的標(biāo)題?
TChart組件提供了Title屬性可以這是圖表的標(biāo)題,包括標(biāo)題的內(nèi)容、字體、對(duì)齊方式等都可以通過(guò)Title屬性設(shè)置。
最簡(jiǎn)單的設(shè)置方式:
Chart1.Title.Text.Text := '圖表的標(biāo)題';
3.如何修改圖表的背景顏色和整個(gè)圖表的顏色?
TChart是一個(gè)窗體控件,可以通過(guò)修改Color屬性設(shè)置圖表顏色,這是一種最簡(jiǎn)單的方式:
Chart1.Color := clWhite;
修改圖表部分的背景色可以通過(guò)BackColor屬性來(lái)實(shí)現(xiàn):
Chart1.BackColor := clGreen;
此外,TChart還提供了漸變的背景支持,通過(guò)Gradient控制:
Chart1.Gradient.Visible := True;
Chart1.Gradient.Direction := gdFromTopLeft;
Chart1.Gradient.StartColor := clGreen;
Chart1.Gradient.EndColor := clYellow;
4.TChart的3D效果如何控制?
TChart提供了View3D屬性,控制是否使用3D效果,View3dWalls屬性控制是否顯示左側(cè)的3D墻效果
5.如何不顯示圖表控件生成圖表?
很遺憾,TChart是一個(gè)Windows窗體控件,必須依附一個(gè)窗體或Windows控件才能使用。如果要不顯示TChart的話,可以將TChart的Visible屬性設(shè)為False來(lái)使用。下面的例子創(chuàng)建了一個(gè)隱藏的TChart來(lái)生成圖表:
var
Chart: TChart;
S: TChartSeries;
TmpFile: string;
begin
Chart := TChart.Create(nil);
try
Chart.Parent := Application.MainForm;
Chart.Visible := False;
Chart.Title.Text.Text := '測(cè)試圖表';
S := TBarSeries.Create(Chart);
Chart.AddSeries(S);
S.Title := '嘿嘿';
S.AddXY(1, 56, '一月', clGreen);
S.AddXY(2, 67, '二月', clYellow);
S.AddXY(3, 34, '三月', clBlue);
S.AddXY(4, 78, '四月', clRed);
Chart.View3D := False;
Chart.BackColor := clWhite;
Chart.Gradient.StartColor := clWhite;
Chart.Gradient.EndColor := clWhite;
Chart.Gradient.Visible := True;
TmpFile := Application.ExeName + '.bmp';
Chart.SaveToBitmapFile(TmpFile);
Image1.Picture.LoadFromFile(TmpFile);
finally
Chart.Free;
end;
end;