Board index » delphi » Teechart horizontal bars

Teechart horizontal bars

I seem to have found one minor bug in TeeChart (3.0b).  If I don't
assign a procedure to the OnAxisClick for a chart, then click on the
axis, I get an error.  If I assign a proc., it works.  I assume that the
Teechart proc isn't checked to see if a procedure has been assigned to
the onaxisclick.

I have one other problem.  I have a chart with several series.  They all
work except for the horizontal bars series.  The data is all there,
etc., but the bars are scrunched up at the bottom of the graph instead
of spread out through the whole chart.  I can't find a way to spread
them out the way they are supposed to be.  Sometimes the problem is the
reverse: only some of the bars are shown, the others would be off the
graph. Sometimes (rarely) the horizontal bars show correctly.   I assume
this is a problem with the bar size or bar position, but can't find any
way to fix it.  Again, the problem is that all the points and axis
markers are in the lower half to third of the plot, even though they
should be spread throughout the plot (as they are when shown
vertically).  I also have a curve fitting line on top of the chart (from
a lineseries) that is scrunched into the upper half to third of the
graph while the bars are on the lower half to third.  They seem to have
the same problem, only in reverse!

Sincerely, Dennis

 

Re:Teechart horizontal bars


Hi Dennis
Yes. There is a bug in the TeeChart standard version
included in Delphi 3. If you use the OnClickSeries event,
and click near an Axis, the error happens.

The workaround is to simply use the OnclickAxis with
dummy code:

Procedure TForm1.OnClickAxis...
begin
  { dummy }
end;

Quote
>>Horizontal Bars

Are you showing the Horiz Bars and the curve fitting function
at the same time ?

HorizBars have point XY coordinates reversed ( X is the Bar value,
Y is the Bar position ).
If you show the Curve, then the maximum Y is the maximum Y in
the Curve, which can be bigger than the maximum Y of the Bar
points.

Horiz Bar points have sequential Y coordinates  (0,1,2,3,... )

You can use the LeftAxis SetMinMax method to adjust the vertical
scale, so the Horiz Bars use the whole chart:

Chart1.LeftAxis.SetMinMax(  0, Series1.Count-1 );

( being Series1 the HorizBar series )

warning: You posted 3 times this message.

Regards
David Berneda
http://www.teemach.com

Dennis Revie escribi en mensaje <34B68103.5F749...@clunet.edu>...

Quote
>I seem to have found one minor bug in TeeChart (3.0b).  If I don't
>assign a procedure to the OnAxisClick for a chart, then click on the
>axis, I get an error.  If I assign a proc., it works.  I assume that the
>Teechart proc isn't checked to see if a procedure has been assigned to
>the onaxisclick.

>I have one other problem.  I have a chart with several series.  They all
>work except for the horizontal bars series.  The data is all there,
>etc., but the bars are scrunched up at the bottom of the graph instead
>of spread out through the whole chart.  I can't find a way to spread
>them out the way they are supposed to be.  Sometimes the problem is the
>reverse: only some of the bars are shown, the others would be off the
>graph. Sometimes (rarely) the horizontal bars show correctly.   I assume
>this is a problem with the bar size or bar position, but can't find any
>way to fix it.  Again, the problem is that all the points and axis
>markers are in the lower half to third of the plot, even though they
>should be spread throughout the plot (as they are when shown
>vertically).  I also have a curve fitting line on top of the chart (from
>a lineseries) that is scrunched into the upper half to third of the
>graph while the bars are on the lower half to third.  They seem to have
>the same problem, only in reverse!

>Sincerely, Dennis

Other Threads