Copyright (C) 2000-2012 |
GNU Info (emacs-lisp-intro.info)print-Y-axis PenultimateThe Not Quite Final Version of `print-Y-axis' --------------------------------------------- The list constructed by the `Y-axis-column' function is passed to the `print-Y-axis' function, which inserts the list as a column. (defun print-Y-axis (height full-Y-label-width) "Insert Y axis using HEIGHT and FULL-Y-LABEL-WIDTH. Height must be the maximum height of the graph. Full width is the width of the highest label element." ;; Value of height and full-Y-label-width ;; are passed by `print-graph'. (let ((start (point))) (insert-rectangle (Y-axis-column height full-Y-label-width)) ;; Place point ready for inserting graph. (goto-char start) ;; Move point forward by value of full-Y-label-width (forward-char full-Y-label-width))) The `print-Y-axis' uses the `insert-rectangle' function to insert the Y axis labels created by the `Y-axis-column' function. In addition, it places point at the correct position for printing the body of the graph. You can test `print-Y-axis': 1. Install Y-axis-label-spacing Y-axis-tic Y-axis-element Y-axis-column print-Y-axis 2. Copy the following expression: (print-Y-axis 12 5) 3. Switch to the `*scratch*' buffer and place the cursor where you want the axis labels to start. 4. Type `M-:' (`eval-expression'). 5. Yank the `graph-body-print' expression into the minibuffer with `C-y' (`yank)'. 6. Press <RET> to evaluate the expression. Emacs will print labels vertically, the top one being `10 - '. (The `print-graph' function will pass the value of `height-of-top-line', which in this case would end up as 15.) automatically generated by info2www version 1.2.2.9 |