TChart怎么动态创建Series呢?

40 | 问答知识库用户 |浏览332次
收藏|2014/05/17 22:00
如题,怎么样在TChart里面动态创建Series?

满意回答

2014/05/21 22:02

参考如下的例子:
procedure TForm2.FormCreate(Sender: TObject);
begin          
  Chart1.View3D := False;
  Chart1.Legend.Visible := False;
  Chart1.AllowZoom := False;
  Chart1.BottomAxis.AutomaticMaximum := False;
  Chart1.BottomAxis.AutomaticMinimum := False;
  Chart1.BottomAxis.Minimum := 0;
  Chart1.BottomAxis.Maximum := 100;
  Chart1.BottomAxis.Visible := False;
  Chart1.LeftAxis.AutomaticMaximum := False;
  Chart1.LeftAxis.AutomaticMinimum := False;
  Chart1.LeftAxis.Minimum := 0;
  Chart1.LeftAxis.Maximum := 100;

  Chart3.View3D := False;
  Chart3.Legend.Visible := False;
  Chart3.Title.Visible := False;
  Chart3.AllowZoom := False;
  Chart3.BottomAxis.AutomaticMaximum := False;
  Chart3.BottomAxis.AutomaticMinimum := False;
  Chart3.BottomAxis.Minimum := 0;
  Chart3.BottomAxis.Maximum := 100;
  Chart3.LeftAxis.AutomaticMaximum := False;
  Chart3.LeftAxis.AutomaticMinimum := False;
  Chart3.LeftAxis.Minimum := 0;
  Chart3.LeftAxis.Maximum := 20;


  ChartSeries := TLineSeries.Create(Chart1);
  ChartSeries.ParentChart := Chart1;
  ChartSeries.DataSources.Count := 10;

  BarSeries := TBarSeries.Create(Chart3);
  BarSeries.ParentChart := Chart3;
  BarSeries.Marks.Visible := False;
  BarSeries.AutoBarSize := False;
  BarSeries.CustomBarWidth := 1;

  Timer1.Enabled :=True;
end;

procedure TForm2.Timer1Timer(Sender: TObject);
begin
  if Chart1.BottomAxis.Maximum < FX + 1 then
  begin
    Chart1.BottomAxis.Maximum := Chart1.BottomAxis.Maximum + 1;
    Chart3.BottomAxis.Maximum := Chart3.BottomAxis.Maximum + 1;
  end;
  FMoney := Random(100) + 1;
  ChartSeries.AddXY(FX, FMoney);

  FVol := Random(20) + 1;
  BarSeries.AddXY(FX, FVol);
  Inc(FX);
  if FX > 150 then
    Timer1.Enabled := False;
end;

热心网友

其他回答(0)
0人关注该问题
待解决问题



+1
 加载中...