Defining Plot Scales and Axes

The function plenv is used to define the scales and axes for simple graphs. plenv starts a new picture on the next subpage (or a new page if necessary), and defines the ranges of the variables required. The routine will also draw a box, axes, and numeric labels if requested. The syntax for plenv is:

plenv (xmin, xmax, ymin, ymax, just, axis);

xmin, xmax (PLFLT, input)

The left and right limits for the horizontal axis.

ymin, ymax (PLFLT, input)

The bottom and top limits for the vertical axis.

just (PLINT, input)

This should be zero or one. If just is one, the scales of the x-axis and y-axis will be the same (in units per millimeter); otherwise the axes are scaled independently. This parameter is useful for ensuring that objects such as circles have the correct aspect ratio in the final plot.

axis (PLINT, input)

axis controls whether a box, tick marks, labels, axes, and/or a grid are drawn.

  • axis = -2: No box or annotation.

  • axis = -1: Draw box only.

  • axis = 0: Draw box, labeled with coordinate values around edge.

  • axis = 1: In addition to box and labels, draw the two axes X = 0 and Y = 0.

  • axis = 2: Same as axis = 1, but also draw a grid at the major tick interval.

  • axis = 10: Logarithmic X axis, linear Y axis.

  • axis = 11: Logarithmic X axis, linear Y axis and draw line Y = 0.

  • axis = 20: Linear X axis, logarithmic Y axis.

  • axis = 21: Linear X axis, logarithmic Y axis and draw line X = 0.

  • axis = 30: Logarithmic X and Y axes.

Note: Logarithmic axes only affect the appearance of the axes and their labels, so it is up to the user to compute the logarithms prior to passing them to plenv and any of the other routines. Thus, if a graph has a 3-cycle logarithmic axis from 1 to 1000, we need to set xmin = log10(1) = 0.0, and xmax = log10(1000) = 3.0.

For greater control over the size of the plots, axis labeling and tick intervals, more complex graphs should make use of the functions plvpor, plvasp, plvpas, plwind, plbox, and routines for manipulating axis labeling plgxax through plszax.