procedure TForm1.Button1Click(Sender: Object)
var
LS: TLineSeries
begin
LS := TLineSeries.Create(DBChart1)//这里假设你用的是DBChart1
LS.ParentChart := DBChart1
LS.Title := '标题'
LS.DataSource := Adoquery1//这里假设你用的adoquery1作为dataset
LS.XLabelsSource := '你横坐标要显示的字段名称'
LS.YValues.ValueSource := ‘纵坐标的字段名称'//必须是数值型
end
假如数据库里有电压曲线
例如 1点钟是 20V
1点15 是 21V
1点30 是 25V
2点是50V
设置Y坐标为范围为 1-24 定义为小时
那就按时间取出来 1换算成
那画的曲线就是 (因为1天就是1 所以乘以24 刚好对应小时)
iPlot1.Channel[0].AddXY(StrtoDateTime('1:00:00')*24,20)
iPlot1.Channel[0].AddXY(StrtoDateTime('1:15:00')*24,21)
iPlot1.Channel[0].AddXY(StrtoDateTime('1:30:00')*24,25)
iPlot1.Channel[0].AddXY(StrtoDateTime('2:00:00')*24,50)
这个是最简单使用
得query之类的查询出数据 然后一个个加上数值
没有dbgrid那么方便 不过也许有简单方法 但我不了解
var
xx:Variant
yy:Variant
begin
xx := VarArrayCreate([1,4], varVariant)
yy := VarArrayCreate([1,4], varVariant)
xx[1]:=StrtoDateTime('1:00:00')*24
xx[2]:=StrtoDateTime('1:15:00')*24
xx[3]:=StrtoDateTime('1:30:00')*24
xx[4]:=StrtoDateTime('2:00:00')*24
yy[1]:=2
yy[2]:=9
yy[3]:=16
yy[4]:=20
iPlot1.Channel[0].AddXYArrays(xx,yy)
在Delphi中要通过曲线的x轴取y轴的值,可以使用Interpolate函数来实现。Interpolate函数接收多个参数,第一个参数是要查询的x轴坐标值,剩下的参数依次是x轴坐标对应的y轴坐标值,最后返回查询到的y轴坐标值。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)