Hi John-
I'm cc'ing this to the visad-list because I think this is a good example
that others might be interested in. The approach I'd take is to create
a LogCoordinateSystem, apply it to your range values and map the
reference RealType to the YAxis. You can see the result at:
ftp://ftp.unidata.ucar.edu/pub/dmurray/LogTest.jpg
and the code at:
ftp://ftp.unidata.ucar.edu/pub/dmurray/LogTest.java
A couple of notes:
1) I had to explicitly set the range for the YAxis ScalarMap, or nothing
would plot. This appears to be a bug in VisAD which we'll look into
further.
2) LogTest shows some of the new features on how you can set axis labels
using AxisScale.
3) Someday, I hope to incorporate the LogCoordinateSystem in LogTest
into core VisAD. If anyone out there with fresher math skill than mine
has comments on the logic I used, let me know. The version in LogTest
will let you specify the log base you want to use.
If you have questions on the methods, let me know.
Don
*************************************************************
Don Murray UCAR Unidata Program
dmurray@xxxxxxxxxxxxxxxx P.O. Box 3000
(303) 497-8628 Boulder, CO 80307
http://www.unidata.ucar.edu/staff/donm
*************************************************************
John Emmerling wrote:
>
> Hi Don,
>
> Usually everybody gets one question so here's mine.
>
> Is there a simple way to get VisAD to display intrinsically linear data
> logarithmically?
>
> For example, you would feed it 4 data points where y as a function of x
> is:
>
> x y
> - -----
> 0 10
> 1 100
> 2 1000
> 3 10000
>
> etc.
>
> And the resulting plot would appear as a straight line with tick marks 10,
> 100, 1000, 10000, etc. equally spaced on the y axis?
>
> I understand there are issues with this but all I need is a general answer
> as to what classes in the VisAD package are involved, etc.
>
> BTW I am not a mathematician or scientist nor do I play one on TV, but I
> hope you can understand the question regardless.
>
> Thanks!
>
> --John Emmerling