TChart TPolar series used to present data to an operator

TeeChart VCL for Borland/CodeGear/Embarcadero RAD Studio, Delphi and C++ Builder.
Post Reply
acmr
Newbie
Newbie
Posts: 4
Joined: Fri Nov 15, 2002 12:00 am

TChart TPolar series used to present data to an operator

Post by acmr » Tue Jul 06, 2004 2:16 am

I am using a TChart and a number TPolar series to present data to an operator. For a number of reasons I create the TChart and TPolar series at run time rather than design time. The overall display works very well but there are several problems.

1 - On one of the series I display the associated marks. When I set marks to be visible the size of the circle is reduced so the marks will be visible if any series points are near the edge of the circle and the mark needs to be drawn outside the circle. I need the circle to be as large as possible and am prepared to have marks that would normally be displayed outside the circle clipped or not displayed. Turning clip to true does not appear to make a difference. Is there any way I can achieve what I need?

2 - I am changing the maximum range represented by the chart radius and when the range is made smaller any points beyond the maximum range are still displayed outside the circle even though I have ClipPoints set to true. Is there any way I can clip points outside the circle not just outside the TChart rectangle?

PS. I am also interested in using charts in a Java application. There are some other Java based chart packages but I would prefer to use TChart as I am already familiar with it but am not aware of a Java version. Is there a Java version or plans for one?
Tony Wright

Marjan
Site Admin
Site Admin
Posts: 745
Joined: Fri Nov 07, 2003 5:00 am
Location: Slovenia
Contact:

Post by Marjan » Tue Jul 06, 2004 7:49 am

Hi.

Re #1 : Yes, it can be done by setting polar series radius values to specific number of pixels. Example

Code: Select all

  Chart1.Legend.ResizeChart := False;
  polarSeries1.CustomXRadius := Chart1.Width div 2 - 20;
  polarSeries1.CustomYRadius := Chart1.Height div 2 - 20;
Re #2 : You could use the Canvas.ClipEllipse to to do what you want. Example

Code: Select all

  Chart1.Canvas.ClipEllipse(EllipseBoundingRectangle);

Re #3 : For the moment we don't plan to release Java version.
Marjan Slatinek,
http://www.steema.com

Post Reply