怎么让TDBChart的横坐标显示是时间??(100分)

  • 主题发起人 主题发起人 青梅
  • 开始时间 开始时间

青梅

Unregistered / Unconfirmed
GUEST, unregistred user!
现在我的代码如下:
var myseries,myseries1:TLineSeries;
ADOQuery1.Active :=false;
dbchart1.SeriesList.Clear;
myseries:= TLineSeries.Create(self);
myseries1:= TLineSeries.Create(self);
myseries.Title :='温度';
myseries1.Title:='湿度';
myseries.ParentChart:=dbchart1;
myseries1.ParentChart:=dbchart1;
myseries.DataSource:=ADOQuery1;
myseries1.DataSource:=ADOQuery1;
ADOQuery1.Active :=True;
myseries.XValues.ValueSource:='evttime' ;
myseries.YValues.ValueSource:='jftinf';
myseries1.XValues.ValueSource:='evttime' ;
myseries1.YValues.ValueSource:='jfhinf';
1、我想让横坐标显示上时间可是显示的却是时间的数字型,那我怎么才能让横坐标显示出如:2002-12-24 10:30:25
这样的格式,
2、还有我要显示是标注点的时间而不是平均的分隔的时间行吗?或者下面显示分隔时间
而在标注点显示出这点的时间或者标注点的值也行??
3、我想知道怎么设置纵坐标的最小值和最大值,我的数据库中记录可以没有这两个值。
 
可以取出坐标的值..具体是那个函数忘了...我查查先
 
如果作到你说的效果可能要做更多的工作:
1:改换TDBCHART为TCHART;
2:从数据库中读出数据,添加到TFastLineSeries中,
添加时象这样 Series1.AddXY(x,y,'2002-12-24 10:30:25',color);
 
jilonger接招[:)]
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1533746
 
关于最大值和最小值
Chart1.ButtomAxis.SetMinMax(max,min);
 
千兄你那实现是TdbChart,用TChart不知有没有更好的方法?如果有定当开贴谢过。
 
我这样写可是什么也看不到???
var myseries,myseries1:TFastLineSeries;
dt:Tdatetime;
t,h,sdt:string;
begin
ADOQuery1.Active :=false;
chart1.SeriesList.Clear;
myseries:= TFastLineSeries.Create(self);
myseries1:= TFastLineSeries.Create(self);
myseries.Title :='温度';
myseries1.Title:='湿度';

myseries.ParentChart:=chart1;
myseries1.ParentChart:=chart1;
chart1.BottomAxis.SetMinMax(0,100);
with ADOQUERY1do
begin
close;
sql.Clear ;
sql.Add('select jftinf,jfhinf, evttime from jfthdevtlog order by evttime desc');
open;
while not eofdo
begin
dt:=FieldByName('evttime').AsDateTime;
sdt:=FormatDateTime('YYYY/MM/DD HH:MM:SS',dt);
t:=FieldByName('jftinf').AsString ;
h:=FieldByName('jfhinf').AsString ;
myseries.AddXY(dt,strToFloat(t),sdt,clred) ;
myseries1.AddXY(dt,strToFloat(h),sdt,clgreen );
//
next;
end;
end;
 
我设置错了,不好意思。。。谢谢大家!
chart1.BottomAxis.SetMinMax(0,100);应该是chart1.LeftAxis.SetMinMax(0,100);
不过如果我想在所在所加的点上加上一个标签显示出x,y的标值应该怎么办??
 
chart1.BottomAxis.SetMinMax(100,0);
 
多人接受答案了。
 
后退
顶部