Next: print-Y-axis, Previous: Labeled Example, Up: Full Graph [Contents][Index]
print-graph
VarlistIn writing the print-graph
function, the first task is to write the
varlist in the let
expression. (We will leave aside for the moment
any thoughts about making the function interactive or about the contents of
its documentation string.)
The varlist should set several values. Clearly, the top of the label for
the vertical axis must be at least the height of the graph, which means that
we must obtain this information here. Note that the print-graph-body
function also requires this information. There is no reason to calculate
the height of the graph in two different places, so we should change
print-graph-body
from the way we defined it earlier to take advantage
of the calculation.
Similarly, both the function for printing the X axis labels and the
print-graph-body
function need to learn the value of the width of
each symbol. We can perform the calculation here and change the definition
for print-graph-body
from the way we defined it in the previous
chapter.
The length of the label for the horizontal axis must be at least as long as the graph. However, this information is used only in the function that prints the horizontal axis, so it does not need to be calculated here.
These thoughts lead us directly to the following form for the varlist in the
let
for print-graph
:
(let ((height (apply 'max numbers-list)) ; First version.
(symbol-width (length graph-blank)))
As we shall see, this expression is not quite right.
This page has generated for branch:work/add_lispintr, commit:65845cf60c073f2f3182d1d07483530e9bbe1d96 to check Japanese translation.