TeeChart VCL for Borland/CodeGear/Embarcadero RAD Studio, Delphi and C++ Builder.
-
CrazyICE
- Newbie

- Posts: 4
- Joined: Fri Nov 15, 2002 12:00 am
- Location: AUSTRIA / Styria
-
Contact:
Post
by CrazyICE » Fri Oct 01, 2004 10:36 am
hi,
i'm new and i need help creating a spider chart displayed in the following image.
it's necessary to create mor than 2 axes (4 sections). how do i create such a chart?
-
Marjan
- Site Admin

- Posts: 745
- Joined: Fri Nov 07, 2003 5:00 am
- Location: Slovenia
-
Contact:
Post
by Marjan » Fri Oct 01, 2004 1:14 pm
Hi.
For actual chart you can use polar series with one of pre-defined brush styles. Adding custom axes is a bit more tricky, but I guess it could be done by manually drawing required arrows directly on chart Canvas by using one of it's drawing methods (Arrow or even combination of lineto+moveto). Please note that all drawing code should be placed in one of the Chart events. There are several examples about drawing custom objects available in Teechart demo. Also, several topics in this forum address similar problems when user has to manuallly draw objects on chart Canvas.
-
CrazyICE
- Newbie

- Posts: 4
- Joined: Fri Nov 15, 2002 12:00 am
- Location: AUSTRIA / Styria
-
Contact:
Post
by CrazyICE » Fri Oct 01, 2004 1:49 pm
the arrows on the axes are not really important.
the important thing is that i get more axes than those shown in the image following.
i used a TPolarSeries, which works fine. but how do i get additional axes like in the image in my first post. (two 45° axes)
this is the point which have to be solved!
-
Pep
- Site Admin

- Posts: 3312
- Joined: Fri Nov 14, 2003 5:00 am
-
Contact:
Post
by Pep » Mon Oct 04, 2004 7:00 am
Hi,
i used a TPolarSeries, which works fine. but how do i get additional axes like in the image in my first post. (two 45° axes)
As Marjan said :
axes is a bit more tricky, but I guess it could be done by manually drawing required arrows directly on chart Canvas by using one of it's drawing methods (Arrow or even combination of lineto+moveto).
There's no way to add these axis type directly.
-
CrazyICE
- Newbie

- Posts: 4
- Joined: Fri Nov 15, 2002 12:00 am
- Location: AUSTRIA / Styria
-
Contact:
Post
by CrazyICE » Tue Oct 12, 2004 3:10 pm
so what do i have to do to create such pseudo-axes?
who do i get the center of the chart?
-
Pep
- Site Admin

- Posts: 3312
- Joined: Fri Nov 14, 2003 5:00 am
-
Contact:
Post
by Pep » Thu Oct 14, 2004 4:38 pm
Hi,
you could use similar code to the following :
Code: Select all
procedure TForm1.Chart1AfterDraw(Sender: TObject);
begin
with Chart1 do
begin
Canvas.Pen.Width := 2;
Canvas.MoveTo(Chart1.Axes.Bottom.IStartPos,Chart1.Axes.Bottom.PosAxis);
Canvas.LineTo(Chart1.Axes.bottom.IEndPos-50,55);
end;
end;
-
CrazyICE
- Newbie

- Posts: 4
- Joined: Fri Nov 15, 2002 12:00 am
- Location: AUSTRIA / Styria
-
Contact:
Post
by CrazyICE » Thu Oct 28, 2004 6:45 am
Pep wrote:Hi,
you could use similar code to the following :
Code: Select all
procedure TForm1.Chart1AfterDraw(Sender: TObject);
begin
with Chart1 do
begin
Canvas.Pen.Width := 2;
Canvas.MoveTo(Chart1.Axes.Bottom.IStartPos,Chart1.Axes.Bottom.PosAxis);
Canvas.LineTo(Chart1.Axes.bottom.IEndPos-50,55);
end;
end;
sorry, but this code doesn't work!
the compiler does not know "Chart1.Axes.Bottom"!
i'm using D6 Enterprise with TeeChart 5.02
-
Pep
- Site Admin

- Posts: 3312
- Joined: Fri Nov 14, 2003 5:00 am
-
Contact:
Post
by Pep » Thu Oct 28, 2004 2:41 pm
Hi,
the compiler does not know "Chart1.Axes.Bottom"!
i'm using D6 Enterprise with TeeChart 5.02
In that case you must use the old one (which still existing in the latest versions) :
Chart1.BottomAxis