10 个解决方案
#1
我的邮箱:wangdong_423@126.com
#2
1、设置线条LineSeries的横坐标为时间格式,双击Chart控件在Series页面下General页面设置;
2、按时间升序排列查询数据库中需要的数据;
3、记录集中做一个循环,从第一条到最后一条,使用AddXY添加曲线点;
First;
While not AdoQuery.Eof do
begin
LineSeries.AddXY(AdoQuery.FieldValues[日期], AdoQuery.FieldValues[数值]);
Next;
end;
4、LineSeries.Active := True; 完成!
5、动态创建线条曲线时:
var LS: TLineSeries;
begin
//删除已有Series
Chart1.FreeAllSeries(nil);
LS := TLineSeries.Create(Chart1);
LS.Active := False;
LS.Title := '测试';
LS.LinePen.Width := 1;
LS.XValues.DateTime := True;
//循环添加
......
//添加并显示
LS.Active := True;
Chart1.AddSeries(LS);
end;
2、按时间升序排列查询数据库中需要的数据;
3、记录集中做一个循环,从第一条到最后一条,使用AddXY添加曲线点;
First;
While not AdoQuery.Eof do
begin
LineSeries.AddXY(AdoQuery.FieldValues[日期], AdoQuery.FieldValues[数值]);
Next;
end;
4、LineSeries.Active := True; 完成!
5、动态创建线条曲线时:
var LS: TLineSeries;
begin
//删除已有Series
Chart1.FreeAllSeries(nil);
LS := TLineSeries.Create(Chart1);
LS.Active := False;
LS.Title := '测试';
LS.LinePen.Width := 1;
LS.XValues.DateTime := True;
//循环添加
......
//添加并显示
LS.Active := True;
Chart1.AddSeries(LS);
end;
#3
#4
tass0115回复很有用,再问下如何在两个横坐标点间加入虚线,比如1999-01-01 00:00和1999-01-02 00:00中间别的时间点显示出虚线。
#5
网上有TChart的使用小例子。
#6
看来,我非常了解你的痛苦.我来超度你吧.大致思路是:循环你数据表的记录来为TCHART新增数据序列. 伪代码如下
如:
i := 0;
游标置为最开始
while 游标未到末尾 do
begin
Chart1.SeriesList[0].AddXY(x值, y值);
chart1.SeriesList[0].XLabel[i] := 根据x值转换来的你想要的字符串值;
移动游标
inc(i)
end
相信你会发现这么做的好处在哪里的.
记得给分给我.
如:
i := 0;
游标置为最开始
while 游标未到末尾 do
begin
Chart1.SeriesList[0].AddXY(x值, y值);
chart1.SeriesList[0].XLabel[i] := 根据x值转换来的你想要的字符串值;
移动游标
inc(i)
end
相信你会发现这么做的好处在哪里的.
记得给分给我.
#7
sakaibam99:曲线显示现在已经没问题了,我的问题是
再问下如何在两个横坐标点间加入虚线,比如1999-01-01 00:00和1999-01-02 00:00中间别的时间点显示出虚线。
再问下如何在两个横坐标点间加入虚线,比如1999-01-01 00:00和1999-01-02 00:00中间别的时间点显示出虚线。
#8
曲线不会动,能动就好了。
#9
假如你tchart里有个属性auto设置为true,那你添加点时 他会自动添加虚线,只在加那个点的地方自动添加,如果不是,则 它会按你的tchart设置需要几个虚线,而显示对应虚线个数,delphi的demo里有例子,我用的是tchart7
#10
图形的问题还没用过,路过学习
#1
我的邮箱:wangdong_423@126.com
#2
1、设置线条LineSeries的横坐标为时间格式,双击Chart控件在Series页面下General页面设置;
2、按时间升序排列查询数据库中需要的数据;
3、记录集中做一个循环,从第一条到最后一条,使用AddXY添加曲线点;
First;
While not AdoQuery.Eof do
begin
LineSeries.AddXY(AdoQuery.FieldValues[日期], AdoQuery.FieldValues[数值]);
Next;
end;
4、LineSeries.Active := True; 完成!
5、动态创建线条曲线时:
var LS: TLineSeries;
begin
//删除已有Series
Chart1.FreeAllSeries(nil);
LS := TLineSeries.Create(Chart1);
LS.Active := False;
LS.Title := '测试';
LS.LinePen.Width := 1;
LS.XValues.DateTime := True;
//循环添加
......
//添加并显示
LS.Active := True;
Chart1.AddSeries(LS);
end;
2、按时间升序排列查询数据库中需要的数据;
3、记录集中做一个循环,从第一条到最后一条,使用AddXY添加曲线点;
First;
While not AdoQuery.Eof do
begin
LineSeries.AddXY(AdoQuery.FieldValues[日期], AdoQuery.FieldValues[数值]);
Next;
end;
4、LineSeries.Active := True; 完成!
5、动态创建线条曲线时:
var LS: TLineSeries;
begin
//删除已有Series
Chart1.FreeAllSeries(nil);
LS := TLineSeries.Create(Chart1);
LS.Active := False;
LS.Title := '测试';
LS.LinePen.Width := 1;
LS.XValues.DateTime := True;
//循环添加
......
//添加并显示
LS.Active := True;
Chart1.AddSeries(LS);
end;
#3
#4
tass0115回复很有用,再问下如何在两个横坐标点间加入虚线,比如1999-01-01 00:00和1999-01-02 00:00中间别的时间点显示出虚线。
#5
网上有TChart的使用小例子。
#6
看来,我非常了解你的痛苦.我来超度你吧.大致思路是:循环你数据表的记录来为TCHART新增数据序列. 伪代码如下
如:
i := 0;
游标置为最开始
while 游标未到末尾 do
begin
Chart1.SeriesList[0].AddXY(x值, y值);
chart1.SeriesList[0].XLabel[i] := 根据x值转换来的你想要的字符串值;
移动游标
inc(i)
end
相信你会发现这么做的好处在哪里的.
记得给分给我.
如:
i := 0;
游标置为最开始
while 游标未到末尾 do
begin
Chart1.SeriesList[0].AddXY(x值, y值);
chart1.SeriesList[0].XLabel[i] := 根据x值转换来的你想要的字符串值;
移动游标
inc(i)
end
相信你会发现这么做的好处在哪里的.
记得给分给我.
#7
sakaibam99:曲线显示现在已经没问题了,我的问题是
再问下如何在两个横坐标点间加入虚线,比如1999-01-01 00:00和1999-01-02 00:00中间别的时间点显示出虚线。
再问下如何在两个横坐标点间加入虚线,比如1999-01-01 00:00和1999-01-02 00:00中间别的时间点显示出虚线。
#8
曲线不会动,能动就好了。
#9
假如你tchart里有个属性auto设置为true,那你添加点时 他会自动添加虚线,只在加那个点的地方自动添加,如果不是,则 它会按你的tchart设置需要几个虚线,而显示对应虚线个数,delphi的demo里有例子,我用的是tchart7
#10
图形的问题还没用过,路过学习