When the Offset value in the AddBar method of a Bar3D series is almost equal to the Y Value, the bar is not shown.
series1.AddBar(1, 1, 1);
series1.AddBar(1, 1000, 1000);
series1.AddBar(1, 500, 500);
Then vary the value of Offset for the data at Y=500 using a SpinEdit control and in its ValueChange event do :
series1.delete(2);
series1.AddBar(1, 500, 500+spinedit1.Value);
For a ChartHeight of 530 pixels, I observe no bar being drawn for Offsets of 503 to 506.
I did notice that if the Border is invisible, then no bar is shown for Offsets 500 to 502. The bar begins to appear at 503 which is the value it begins to disappear at if the Border is visible.
Perhaps this is due to round off errrors in calculation of the starting and ending vertical pixel range ?
Steve
Bar 3D series not shown when Offset is small
-
- Site Admin
- Posts: 14730
- Joined: Mon Jun 09, 2003 4:00 am
- Location: Banyoles, Catalonia
- Contact:
Hi Steve,
It doesn't make sense that you use an offset value being the same as the Y value. If you set Y value to 500 and offset to 500 as well the bar will have a 0 height. Offset values should be lower than bars Y values.
It doesn't make sense that you use an offset value being the same as the Y value. If you set Y value to 500 and offset to 500 as well the bar will have a 0 height. Offset values should be lower than bars Y values.
Best Regards,
Narcís Calvet / Development & Support Steema Software Avinguda Montilivi 33, 17003 Girona, Catalonia Tel: 34 972 218 797 http://www.steema.com |
Instructions - How to post in this forum |
Narcis,
I'm using the Bar3D series to represent a varying range of data values at several X,Y locations. In some situations, the data range is zero, and I want to show a one pixel tall bar when that happens.
But we can ignore that. Add two bars such as
AddBar(1, 10, 9);
AddBar(1, 1000, 990);
Then AddBar(1, 500, 495); This third bar will probably not be shown. Vary the value of the third bar's offset from say 499 to 490.
Also, make the chart's form alignment be alClient and resize the form vertically after adding these bars. The third bar will be shown or not shown depending on the form's height.
This behavior changes somewhat depending on whether the border is visible or not.
Could this behavior be changed so that it always draws at least one pixel tall bar ?
As an aside, I observe that Offset can be larger than the Y value. Marks appear below the bar in such cases.
Steve
I'm using the Bar3D series to represent a varying range of data values at several X,Y locations. In some situations, the data range is zero, and I want to show a one pixel tall bar when that happens.
But we can ignore that. Add two bars such as
AddBar(1, 10, 9);
AddBar(1, 1000, 990);
Then AddBar(1, 500, 495); This third bar will probably not be shown. Vary the value of the third bar's offset from say 499 to 490.
Also, make the chart's form alignment be alClient and resize the form vertically after adding these bars. The third bar will be shown or not shown depending on the form's height.
This behavior changes somewhat depending on whether the border is visible or not.
Could this behavior be changed so that it always draws at least one pixel tall bar ?
As an aside, I observe that Offset can be larger than the Y value. Marks appear below the bar in such cases.
Steve
-
- Site Admin
- Posts: 14730
- Joined: Mon Jun 09, 2003 4:00 am
- Location: Banyoles, Catalonia
- Contact:
Hi Steve,
I'm not able to reproduce that behaviour, the third bar is always shown, no matter which is the form's height and if the border is visible or not. Could you please post an example we can run "as-is" to reproduce the problem here? You can post your files at [url]news://www.steema.net/steema.public.attachments[/url] newsgroup.I'm using the Bar3D series to represent a varying range of data values at several X,Y locations. In some situations, the data range is zero, and I want to show a one pixel tall bar when that happens.
But we can ignore that. Add two bars such as
AddBar(1, 10, 9);
AddBar(1, 1000, 990);
Then AddBar(1, 500, 495); This third bar will probably not be shown. Vary the value of the third bar's offset from say 499 to 490.
Also, make the chart's form alignment be alClient and resize the form vertically after adding these bars. The third bar will be shown or not shown depending on the form's height.
This behavior changes somewhat depending on whether the border is visible or not.
Could this behavior be changed so that it always draws at least one pixel tall bar ?
Yes, otherwise the marks would overlap the bar as the offset increases in a higher value than bar's Y value.As an aside, I observe that Offset can be larger than the Y value. Marks appear below the bar in such cases.
Best Regards,
Narcís Calvet / Development & Support Steema Software Avinguda Montilivi 33, 17003 Girona, Catalonia Tel: 34 972 218 797 http://www.steema.com |
Instructions - How to post in this forum |
-
- Site Admin
- Posts: 14730
- Joined: Mon Jun 09, 2003 4:00 am
- Location: Banyoles, Catalonia
- Contact:
Hi Steve,
Thank you very much for the example project. I've been able to reproduce what you reported resizing the form. I've added this issue to our defect list to be fixed for future releases. There's no workaround I can think of at the present moment.
Thank you very much for the example project. I've been able to reproduce what you reported resizing the form. I've added this issue to our defect list to be fixed for future releases. There's no workaround I can think of at the present moment.
Best Regards,
Narcís Calvet / Development & Support Steema Software Avinguda Montilivi 33, 17003 Girona, Catalonia Tel: 34 972 218 797 http://www.steema.com |
Instructions - How to post in this forum |