Log axes support the
TICKINTERVALSTYLE= option, which provides different styles for displaying
tick values:
A LOGEXPAND, LOGEXPONENT,
or LINEAR representation is chosen automatically, based on the range
of the data. When the data range is small (within an order of magnitude),
a LINEAR representation is typically used. Data ranges that encompass
several orders of magnitude typically use the LOGEXPAND or LOGEXPONENT
representation. AUTO is the default.
Major ticks are placed
at uniform intervals at integer powers of the base. By default, a
BEST6. format is applied to BASE=10 and BASE=2 tick values. This means
that, depending on the range of data values, you might see very large
or very small values written in exponential notation (10E6 instead
of 1000000). The preceding examples with a log axis show TICKINTERVALSYTLE=LOGEXPAND.
Major ticks are placed
at uniform intervals at integer powers of the base. The tick values
are only the integer exponents for all bases.
Major tick marks are
placed at non-uniform intervals, covering the range of the data.
When using TICKINTERVALSTYLE=LOGEXPONENT,
it might not be clear what base is being used. You should consider
adding information to the axis label to clarify the situation:
layout overlay / yaxisopts=(type=log label="Growth (Powers of 10)"
logopts=(base=10 tickintervalstyle=logexponent));
When using TICKINTERVALSTYLE=LINEAR,
it is visually helpful to turn on the grid lines:
layout overlay / yaxisopts=(type=log griddisplay=on
logopts=(base=10 tickintervalstyle=linear));
When using BASE=10 and
TICKINTERVALSTYLE=LOGEXPAND or TICKINTERVALSTYLE=LOGEXPONENT, you
can add minor ticks to emphasize the log scale:
layout overlay / yaxisopts=(type=log griddisplay=on
logopts=(base=10 tickintervalstyle=linear minorticks=true ));
As with LINEAR and TIME
axes, the data range of a log axis can be set with the VIEWMIN= and
VIEWMAX= log options.
If your input data has
already been transformed into log values, you should always use a
LINEAR axis to display them, not a LOG axis.
layout overlay;
seriesplot x=Hours y=eval(log10(growth));
endlayout;