| calcomp | plot | calcomp |
calcomp -- plot a GKI metacode file on a Calcomp pen plotter
calcomp input
Task calcomp is an IRAF graphics kernel. It may be run standalone to plot a GKI metacode file, or from cursor mode via ":.snap calcomp".
Calcomp may be used to draw any IRAF plot on a Calcomp pen plotter. It is only available if the local site has a Calcomp library. Task calcomp is an exact-scaling graphics kernel, unlike the NSPP, or STDPLOT kernel. This means that if the task that generated the metacode input file passed an exact scale into the metacode, data can be plotted to a desired precise scale.
The metacode scale may be overridden, or metacode files generated by tasks that do not implement exact scales may be plotted to a precise scale, by specifying xscale or yscale. Note, however, that the only coordinates in a metacode file are GKI coordinates, usually running from 1 - 32767. This means that to use xscale and yscale, the user must calculate the number of inches per GKI unit, not the number of world or data units per inch.
Calcomp also implements dashed and dotted lines and bold lines and text. Thus high-quality plots may be produced, at the expense of requiring more time. If "lwtype=ntracing" and "lwover=no", any bold text or lines in the metacode file, such as are produced for axes, tickmarks, titles and axis labels by many IRAF plotting tasks, will appear bold on the Calcomp. If txquality="low" or "medium", and bold text is requested, each character will be drawn 5 times -- once in the center position and once to the right, top, left, and bottom of the original position. Each of the side positions is drawn "plwsep" inches from the center. If txquality="high", bold text is implemented with the same five tracings plus the four corners upper right, upper left, etc. For most applications txquality="normal" or "medium" is adequate for nice-looking plots.
When drawing data lines bold (only possible if the task originating the metacode specifically requested it, not the case for most IRAF plotting tasks), the bounding parallel line traces are constructed to meet at sharp points. This looks fine for line intersections that are not too acute. If the intersection angle between two lines is very acute, say less than 5 degrees, the vertex of the parallel lines bounding to the outside may lie quite a distance away from the actual vertex. In the limit, if the intersection angle is zero, the outer vertex will lie at infinity. For this reason, all intersection angles less than 5 degrees are treated as though they were exactly 5 degrees.
1. Plot a metacode file exactly as is:
cl> calcomp metacodefile
2. Get the fastest plot you can -- no bold lines or text, no dashed or dotted lines:
cl> calcomp metacodefile lwover+ ltover+ txquality=low
3. Get a plot half the size of the original; suppose the original plot had metacode scales = 0.0003 inches / GKI unit:
cl> calcomp metacodefile xscale=0.00015 yscale=0.00015
4. Get the highest quality plot you can without having to change pens:
cl> calcomp metacodefile txqual=high
5. Get a high-quality plot where you have to change the pen each time the metacode switches from bold to single-width lines or text:
cl> calcomp metacodefile txqual=high lwtype=penchange
Pen plotters vary considerably in their plotting rates. At NOAO, plotting a metacode file from a 1024-pixel image generated by longplot , overriding bold lines and text, takes a couple of minutes. The same plot with txquality = "medium" can take over twice as long due to bold text, axes, and tick labels. With txquality = "high", it may take 4 or 5 times as long to plot.
Plots with dashed and dotted, or both, lines may take 2-5 times as long to plot as single-width lines. The slowest of all is to produce plots with a lot of bold text, or with dashed and dotted AND bold data lines.
When using multiple tracing to simulate bold lines that intersect at very acute angles, i.e. less than 5 degrees, each bold line will thin slightly as it approaches the obtuse vertex.
See task longplot , also in the plot package, for a task designed to use the calcomp graphics kernel for exact scaling and/or long, e.g. spectral, plots.