最简单的问题,马上给分(50分)

  • 主题发起人 主题发起人 dcs_dcs
  • 开始时间 开始时间
D

dcs_dcs

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在Chart1控件上画曲线,比方说把三个点A(20,30),B(50,100),C(80,160)
这样三个点用曲线连起来,应该如何写呢。最好完成后会出现三个小黑点表示A,B,C
谢谢
 
很简单的问题? 关键是曲线要有什么要求 如果1和2点用一个圆定位 2和3点用一个圆 这样很简单 如果要用到象股票那样的 恐怕难度

大富翁有篇 曲线拟合的代码 楼主可研究研究

http://www.delphibbs.com/delphibbs/dispq.asp?lid=1685785
 
就是用直线把两点连接起来就行了啊。。。
三个点有两条直线啊
 
我觉得可以使用这样的方法。你使用两条series,一条显示曲线,一条显示点,
先加入曲线
Series1: TFastLineSeries;
Series2: TPointSeries
下面绘制曲线和点
series1.AddXY(20,30);
series1.AddXY(50,100);
series1.AddXY(80,160);
series2.AddXY(20,30);
series2.AddXY(50,100);
series2.AddXY(80,160);

然后就是你要的效果
 
TFastLineSeries;
TPointSeries;

这两个类包含在哪个单元里啊。。
 
Form1.Canvas.MoveTo(20,30);
Form1.Canvas.LineTo(50,100);
Form1.Canvas.LineTo(80,160);

搞掂
 
你放置一个chart ,预先建立两个这样的series就可以。
应该在 Series单元。
 
var
ptloc:array[0..2] of TPoint;
i,rad:integer;
begin
ptloc[0]:=Point(20,30);
ptloc[1]:=Point(50,100);
ptloc[2]:=Point(80,160);
rad:=5;
with Canvas do
begin
Brush.Color:=clBlack;
Pen.Color:=clRed;
{
MoveTo(20,30);
LineTo(50,100);
LineTo(80,160);
}
Polyline(ptloc);
for i:=0 to high(ptloc) do
begin
Ellipse(ptloc.X-rad,ptloc.Y-rad,ptloc.X+rad,ptloc.Y+rad);
end;
end;
 
Form1.Canvas.MoveTo(20,30);
Form1.Canvas.LineTo(50,100);
Form1.Canvas.LineTo(80,160);
Form1.Canvas.Ellipse(18,28,22,32);
Form1.Canvas.Ellipse(48,98,52,102);
Form1.Canvas.Ellipse(78,158,82,162);

我的 北斗三星阵 哈哈
 
接受答案了.
 
教学相长 回答楼主的问题 从bbswing学到一招 算是有收获 分给他吧
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部