作业帮 > 数学 > 作业

delphi Tchart画直方图(频数统计图)

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/21 15:00:13
delphi Tchart画直方图(频数统计图)

用delphi的TChart发现这个直方图是以一个点坐标来画的,所以出现红柱横坐标aaa-AAA是一个点,本人希望aaa和AAA分别是红色直方图的左、右两个横坐标,像典型的频数统计图那样坐标是连续的,直方图是紧靠着的.(即红、绿直方能共用一个AAA的坐标),请问如何解决?
procedure TForm1.BitBtn2Click(Sender: TObject);
var Series1:array[0..1] of TBarSeries;
i:integer;
begin
Series1[0]:=TBarSeries.Create(chart1);
Chart1.AddSeries(Series1[0]);
Series1[1]:=TBarSeries.Create(chart1);
Chart1.AddSeries(Series1[1]);
TBarSeries(Chart1.Series[0]).AddBar(random(100),'aaa-AAA',clred);
TBarSeries(Chart1.Series[1]).AddBar(random(100),'aaa-AAA',clgreen);
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var Series1:array[0..1] of TBarSeries;
i:integer;
begin
Series1[0]:=TBarSeries.Create(chart1);
Chart1.AddSeries(Series1[0]);
Series1[1]:=TBarSeries.Create(chart1);
Chart1.AddSeries(Series1[1]);
for i:=0 to 10 do
begin
TBarSeries(Chart1.Series[0]).AddBar(random(100),inttostr(i),clred);
TBarSeries(Chart1.Series[1]).AddBar(random(100),inttostr(i),clgreen);
end;
end;
再问: 我自己后来也如此写过,但是就是不知道如何解决横坐标连续这个问题,我是希望像上图红色字体那样对应点连续标的坐标,是不是Tchart无法实现这样的效果呢?
再答: procedure TForm1.BitBtn1Click(Sender: TObject);var Series1:TBarSeries;  i:integer;begin  Series1:=TBarSeries.Create(chart1);  Chart1.AddSeries(Series1);  Chart1.BottomAxis.StartPosition:=30;  Chart1.BottomAxis.EndPosition:=70;  TBarSeries(Chart1.Series[0]).BarWidthPercent:=100;  randomize;  TBarSeries(Chart1.Series[0]).AddBar(100,inttostr(1),clred);  TBarSeries(Chart1.Series[0]).AddBar(100,inttostr(2),clgreen);  TBarSeries(Chart1.Series[0]).AddBar(100,inttostr(3),clblue);
 end;