先在界面上拖一个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;

  • 相关文章

    • 无相关文章
最后修改:2012 年 11 月 09 日
卧槽,全是白嫖客,服务器不要钱吗?