问题描述
使用TChart组件时,假设添加一个条形图,如何使用标签而不是Double来更改x轴的值?
目前,我只能在带有两个数字的条形系列中使用addXY。 是否可以添加(Apple,1000),(Orange,400),(Banana,10)? 目前,我只是使用索引并将水果名称添加为标签。我想将标签放在条形上而不是在x轴上。
如何在拉撒路使用TChart进行此类操作?
解决方法
将BarSeries的ListSource分配给BottomAxis的Marks.Source,并将Marks.Style设置为smsLabel。只能在运行时完成,并且“ smsLabel”在“ uses”子句中需要使用单位TAChartUtils。
uses
TAChartUtils;
procedure TForm1.FormCreate(Sender: TObject);
begin
Chart1Barseries1.AddXY(1,1000,'Apple');
Chart1BarSeries1.AddXY(2,400,'Orange');
Chart1BarSeries1.AddXY(3,10,'Banana');
Chart1.BottomAxis.Marks.Source := Chart1BarSeries1.listSource; // <---
Chart1.BottomAxis.Marks.Style := smsLabel; // <---
end;