On 7/29/2011 1:21 AM, Alexander Klenin wrote:
Please, do not top-post. It makes it very hard to read and reply to
your messages.

On Fri, Jul 29, 2011 at 15:56, David M. Lawrence<[email protected]>  wrote:
No, they happened when I tried to plot the chart.  I couldn't figure out how
to implement the auto-scaling transformation from the demo.  For example, I
see catTAuto listed as a transformation in the object inspector and listed
as a property in the axisdemo main.pas, but cannot find any code to
implement it there.  I do see it mentioned in main.lfm, but don't understand
how it works -- it seems to list properties for the transform more than
anything else.

There is no code -- just setting correct properties is enough.

In any event, for consistency's sake I need to maintain axes of -90 C to 60
C for the temperature axis, and 0 cm to 300 cm for the precipitation axis.
  Since I plot up to three temperature series, it's easier to set that as
fixed and figure out how to transform the precipitation axis.

You seem to have a lot invested in the idea that flexible transformations
are best from a coding standpoint, but the hundreds of charts I plot have to
be plotted consistently -- there can be no individualized scaling.  The bars
on a graph from a site with a maximum monthly precipitation of 20 cm need to
be one-tenth as tall as the bars from a site with maximum monthly
precipitation of 200 cm.  I am not just comparing the bars and lines on an
individual chart, I am comparing one chart to similar charts from hundreds
of sites around the world.  That way I and others can tell the chart from a
desert site, for example, from that of a tropical rainforest site or monsoon
forest site.  From that standpoint, being able to independently set max and
min values for each vertical axis would be a lot better.

I see now -- so you actually do NOT want auto-scale, but a fixed scale.
In this case, simply use linear transformation and then Chart.Extent property.

You will have to calculate scale and offset yourself (once, at design-time).
(From my quick calculation, you should use scale=0.5 and offset=-90,
but check yourself)
I'll check the linear transform. Those values are what I was thinking they should be. I'll give them a shot.
Note, however, that if by chance your data will be outside of the
designated extent,
it will be cut off.

I can see your point for axis min/max values, so maybe I implement them.
However, how should they behave in the case of out-of-bounds data points
I described above?
Out-of-bounds data points would be clipped. In my case, I determined my max/min limits empirically by scanning global temperature and precipitation records. There should be no out-of-bounds points -- on Earth, anyway. If climate conditions do affect extremes, I wrote batch procedures that allow me to redraw all the charts in my database with new maximum and minimum values in a matter of minutes.

Thanks again,

Dave

P.S.  Does this list allow attachments?

--
------------------------------------------------------
 David M. Lawrence        | Home:  (804) 559-9786
 7471 Brook Way Court     | Fax:   (804) 559-9787
 Mechanicsville, VA 23111 | Email: [email protected]
 USA                      | http:  http://fuzzo.com
------------------------------------------------------

"All drains lead to the ocean."  -- Gill, Finding Nemo

"We have met the enemy and he is us."  -- Pogo

"No trespassing
 4/17 of a haiku"  --  Richard Brautigan


--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to