NCL Home>
Application examples>
Plot techniques ||
Data files for some examples

Example pages containing: tips | resources | functions/procedures

# NCL Graphics: Axes

This page shows how to control the axes of any plot, like linearizing
an irregular axis, converting one to a log axis, and turning off
borders and/or tickmarks.

axes_1.ncl: This is a simple script
that uses dummy data with a Y axis that has irregularly-spaced
values. The second frame shows how setting

*gsnYAxisIrregular2Linear*to True will linearize the Y axis. Note what this does to the contours.
axes_2.ncl: This script shows how to
convert an irregular axis to a log axis by setting

*gsnYAxisIrregular2Log*to True.
axes_3.ncl: This script
shows various ways you can control all four axes of
a plot. Although this is an XY plot, these techniques apply
for contour and vector plots as well.

axes_4.ncl: This script
shows how to replace the default axes with a cartesian coordinate
system.

If you want to be sure that point (0,0) is the center of the cartesian axes, then you can either modify the "attach_vert_axis" and "attach_horiz_axis" functions in this script, or do it the "lazy" way by setting:

res@trXMinF= -(max(x)) res@trXMaxF= (max(x)) res@trYMinF= -(max(y)) res@trYMaxF= (max(y))

Where "x" and "y" represent the range of your X and Y axes.

axes_5.ncl: This script shows how to
convert a linear axis to a logarithmic axis in a contour plot, by
setting

*gsnYAxisIrregular2Log*to True.
Note that the original Y axis looks linear, but is considered
"irregular" because it has a coordinate array. Hence,
the *gsnYAxisIrregular2Log* will work.

axes_6.ncl: This script shows how to
increase the range of the X and Y axes of a contour plot that has
coordinate values set.

If you try to set any of
*trXMinF*,
*trXMaxF*,
*trYMinF*, and/or
*trYMaxF*
to a value outside the range of the data's coordinate
values, then you will get an error:

warning:ContourPlotSetValues: current transformation requires trXMinF to be within data coordinate range: resettingIn this example, the original latitude coordinate array goes from -87.86 to 87.86, and the level array from 200 to 1000. We show how to use the

**new**function to increase the latitude array by two elements, -90 and 90, and the level array by one element, 150 mb. The data array is also increased by 2 elements in the lat dimension, and 1 element in the level dimension.
axes_7.ncl: This script creates a
plot of dummy data that has both irregular X and Y coordinate
arrays. It then linearizes the X axis by
setting

*gsnXAxisIrregular2Linear*to True.Note the change in the plot along the horizontal direction.