Delphi:TChart中的离散底轴

时间:2014-03-10 16:43:03

标签: delphi teechart

我无法使用TChart实现离散底轴(我在XE5中使用lite版本)

我的目的是显示2个系列: 系列1:TBarSeries, 系列2:TLineSeries标量

在底部轴 DISCRETE (整数值或日期)的图表中!

添加这些值(例如)

Series1.addXY(0,2,'',clGreen);
Series2.AddXY(0,5,'', clRed);

Series1.AddXY(1,4,'',clGreen);
Series2.AddXY(1,5,'', clRed);

Series1.AddXY(2,6,'',clGreen);
Series2.AddXY(2,2,'', clRed);

图表如下:

enter image description here

但是,正如您所看到的,底部轴不是离散的。我想获得这样的东西

enter image description here

我怎样才能实现这一目标?谢谢。

1 个答案:

答案 0 :(得分:1)

我使用TAreaSeriesTLineSeries制作了一个简单的示例,这两个都与Stairs一起使用,我认为这看起来像你一样:

uses Series;

procedure TForm1.FormCreate(Sender: TObject);
const values0: array[0..2] of TChartValue = (2, 4, 6);
      values1: array[0..2] of TChartValue = (5, 7, 2);
var i: Integer;
begin
  Chart1.View3D:=false;
  Chart1.Legend.Visible:=false;

  with Chart1.AddSeries(TAreaSeries) as TAreaSeries do
  begin
    Color:=clGreen;
    Stairs:=true;
    UseYOrigin:=true;
  end;

  with Chart1.AddSeries(TLineSeries) as TLineSeries do
  begin
    Color:=clRed;
    Stairs:=true;
  end;

  for i:=0 to High(values0) do
  begin
    Chart1[0].AddXY(i-0.5, values0[i]);
    Chart1[1].AddXY(i-0.5, values1[i]);
  end;

  Chart1[0].AddXY(Chart1[0].Count-0.5, values0[Chart1[0].Count-1]);
  Chart1[1].AddXY(Chart1[1].Count-0.5, values1[Chart1[1].Count-1]);
end;

Area and Line