先在界面上拖一个Chart控件,把属性都设置好,通过代码添加数据即可。
cht1.Title.Text.Text:='销售业绩';
cht1.Series[0].AddXY(1, 56, '东门');
cht1.Series[0].AddXY(2, 67, '南门');
cht1.Series[0].AddXY(3, 34, '西门');
cht1.Series[0].AddXY(4, 78, '北门');
cht1.Series[0].AddXY(5, 100, '市中心');
Chart属性:AllowZoom 自动放大缩小
Series1 属性: ColorEachPoint 每个数据项色彩随机不同
//动态改变图表样式
var tmp : TChartSeries;
begin
tmp := Series1;
case cbb1.ItemIndex of
0: ChangeSeriesType(tmp,TChartSeriesClass(TBarSeries)); //柱状图
7: ChangeSeriesType(tmp,TChartSeriesClass(TPieSeries)); //饼图
end ;
end;
TChart是一个Windows窗体控件,必须依附一个窗体或Windows控件才能使用。如果要不显示TChart的话,可以将TChart的Visible属性设为False来使用。下面的例子创建了一个隐藏的TChart来生成图表:
var
Chart: TChart;
S: TChartSeries;
TmpFile: string;
begin
Chart := TChart.Create(nil);
try
Chart.Parent := Application.MainForm;
Chart.Visible := False;
Chart.Title.Text.Text := '测试图表';
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;