我无法使用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);
图表如下:
但是,正如您所看到的,底部轴不是离散的。我想获得这样的东西
我怎样才能实现这一目标?谢谢。
答案 0 :(得分:1)
我使用TAreaSeries
和TLineSeries
制作了一个简单的示例,这两个都与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;