To raw point size increment

TeeChart VCL for Borland/CodeGear/Embarcadero RAD Studio, Delphi and C++ Builder.
Post Reply
Andy
Newbie
Newbie
Posts: 32
Joined: Wed Apr 18, 2007 12:00 am
Location: Germany Oldenburg
Contact:

To raw point size increment

Post by Andy » Mon Jun 27, 2011 3:00 pm

Hello I use TChart V7.12 Vcl.

I use scatter plots with a lot of points. I want to optimize the the points size so that I get beauty plots.
Unfortunately in TeeChart I must configure the point radius and not the diameter.
So I get for a RectShape without border the sizes:
2x2 4x4 6x6 8x8 etc.

I miss 3x3 5x5 7x7 etc.

The trick I use now to get this missing sizes is, to alter the border-visibility.
because a border of width 1 increaseses the pixel-rect by 1.

This works fine if the border color is the fill color.
But some times I need a transparent fill color to see the point desity of many overlapping point areas
This will will work only for uneven point sizes.
(It makes no sense to "draw" a transparent area with no border - is see nothing.)

So I miss the feature to draw f.e. a 6x6 rect-point (only with border).

Dont know how to preseve backwards compatibiliy in code - may be with
a bool Property "SizeDefinesDiameterAndNotRadius" or so
or simpler the Sizes (horiz.vert.) are floats so that f.e. size 5.5 woud configure the new feature.

Besise - is the bug in the plot position of circle-points fixed?

Bye
Andreas

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Re: To raw point size increment

Post by Narcís » Thu Jun 30, 2011 9:18 am

Hi Andreas,
So I miss the feature to draw f.e. a 6x6 rect-point (only with border).
I can draw 6x6 transparent pointers like this:

Code: Select all

uses Series;

procedure TForm1.FormCreate(Sender: TObject);
var Series1: TPointSeries;
begin
  Series1:=TPointSeries.Create(Self);
  Series1.FillSampleValues;
  Series1.Pointer.Brush.Style:=bsClear;
  Series1.Pointer.HorizSize:=3;
  Series1.Pointer.VertSize:=3;
  Series1.Pointer.Pen.Color:=Series1.Color;

  Chart1.View3D:=False;
  Chart1.AddSeries(Series1);
end;
Is that what you are looking for?
Dont know how to preseve backwards compatibiliy in code - may be with
a bool Property "SizeDefinesDiameterAndNotRadius" or so
or simpler the Sizes (horiz.vert.) are floats so that f.e. size 5.5 woud configure the new feature.
I don't think this has changed across TeeChart versions. Also notice that HorizSize and VertSize represent pixels so I'm afraid it's not possible to plot half a pixel. Anyway, I'll add your request to the wish-list to be investigated for future releases (TV52015633).
Besise - is the bug in the plot position of circle-points fixed?
Is that what you discussed here with Yeray?

Thanks in advance.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

Andy
Newbie
Newbie
Posts: 32
Joined: Wed Apr 18, 2007 12:00 am
Location: Germany Oldenburg
Contact:

Re: To raw point size increment

Post by Andy » Thu Jun 30, 2011 11:44 am

Narcís wrote:Hi Andreas,
So I miss the feature to draw f.e. a 6x6 rect-point (only with border).
I can draw 6x6 transparent pointers like this:

Code: Select all

uses Series;

procedure TForm1.FormCreate(Sender: TObject);
var Series1: TPointSeries;
begin
  Series1:=TPointSeries.Create(Self);
  Series1.FillSampleValues;
  Series1.Pointer.Brush.Style:=bsClear;
  Series1.Pointer.HorizSize:=3;
  Series1.Pointer.VertSize:=3;
  Series1.Pointer.Pen.Color:=Series1.Color;

  Chart1.View3D:=False;
  Chart1.AddSeries(Series1);
end;
Is that what you are looking for?

For this configuration you get an 7x7 rect and NOT 6x6 !
Diameter = Radius * 2 +1 Pixel
One can NEVER create a rectangle with even diameter!

I think this it a big and unnecessary restriction of TeeChart.
Dont know how to preseve backwards compatibiliy in code - may be with
a bool Property "SizeDefinesDiameterAndNotRadius" or so
or simpler the Sizes (horiz.vert.) are floats so that f.e. size 5.5 woud configure the new feature.
I don't think this has changed across TeeChart versions. Also notice that HorizSize and VertSize represent pixels so I'm afraid it's not possible to plot half a pixel. Anyway, I'll add your request to the wish-list to be investigated for future releases (TV52015633).
Fine!
Besise - is the bug in the plot position of circle-points fixed?
Is that what you discussed here with Yeray?
Yes this is the bug !
Thanks in advance.

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Re: To raw point size increment

Post by Narcís » Thu Jun 30, 2011 1:42 pm

Hi Andreas,
For this configuration you get an 7x7 rect and NOT 6x6 !
Diameter = Radius * 2 +1 Pixel
One can NEVER create a rectangle with even diameter!

I think this it a big and unnecessary restriction of TeeChart.
Sorry, yes. I checked it better now with this image:
PointerSize.jpg
PointerSize.jpg (13.61 KiB) Viewed 7639 times
Anyway, this will be investigated for TV52015633.
Yes this is the bug !
Ok, I'm afraid this was not added in the bug-list. I guess Yeray was waiting for your reply to your his last post. As he suggested, this is definitely better using GDI+ or OpenGL as antialias is performed. Have you tried using GDI+ canvas? GDI+ has been vastly improved for last TeeChart VCL release. You may download the fully functional evaluation version at http://www.steema.com/evaluation/vcl.

Thanks in advance.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

Post Reply