Blob


1 .TH PLOT 7
2 .SH NAME
3 plot \- graphics interface
4 .SH DESCRIPTION
5 Files of this format are interpreted by
6 .IR plot (1)
7 to draw graphics on the screen.
8 A
9 .I plot
10 file is a
11 .SM UTF
12 stream of
13 instruction lines.
14 Arguments are delimited by spaces, tabs, or commas.
15 Numbers may be floating point.
16 Punctuation marks (except
17 .LR : )
18 ,
19 spaces, and tabs at the beginning of lines are ignored.
20 Comments run from
21 .L :
22 to newline.
23 Extra letters appended to a valid instruction are ignored.
24 Thus
25 .LR ...line ,
26 .LR line , and
27 .L li
28 all mean the same thing.
29 Arguments are interpreted as follows:
30 .TP
31 1.
32 If an instruction requires no arguments, the rest of the line is ignored.
33 .TP
34 2.
35 If it requires a string argument, then all the line
36 after the first field separator is passed as argument.
37 Quote marks may be used to preserve leading blanks.
38 Strings may include newlines represented as
39 .LR \en .
40 .TP
41 3.
42 Between numeric arguments alphabetic characters and
43 punctuation marks are ignored.
44 Thus
45 .L
46 line from 5 6 to 7 8
47 draws a line from (5, 6) to (7, 8).
48 .TP
49 4.
50 Instructions with numeric arguments remain in effect until
51 a new instruction is read.
52 Such commands may spill over many lines. Thus
53 the following sequence will draw a polygon
54 with vertices
55 (4.5, 6.77), (5.8, 5.6), (7.8, 4.55), and (10.0, 3.6).
56 .IP
57 .EX
58 move 4.5 6.77
59 vec 5.8, 5.6 7.8
60 4.55 10.0, 3.6 4.5, 6.77
61 .EE
62 .PP
63 The instructions are executed in order.
64 The last designated point in a
65 .BR line ", " move ", " rmove ,
66 .BR vec ", " rvec ", " arc ,
67 or
68 .B point
69 command becomes the `current point'
70 .RI ( X,Y )
71 for the next command.
72 .SS "Open & Close"
73 .PD0
74 .TP 10
75 .BI o " string"
76 Open plotting device.
77 For
78 .IR troff ,
79 .I string
80 specifies the size of the plot
81 (default is
82 .LR 6i ).
83 .TP 10
84 .B cl
85 Close plotting device.
86 .PD
87 .SS "Basic Plotting Commands"
88 .PD0
89 .TP 10
90 .B e
91 Start another frame of output.
92 .TP 10
93 .BI m " x y"
94 (move) Current point becomes
95 .I "x y."
96 .TP 10
97 .BI rm " dx dy"
98 Current point becomes
99 .I "X+dx Y+dy."
100 .TP 10
101 .BI poi " x y"
102 Plot the point
103 .I "x y"
104 and make it the current point.
105 .TP 10
106 .BI v " x y"
107 Draw a vector from the current point to
108 .I "x y."
109 .TP 10
110 .BI rv " dx dy"
111 Draw vector from current point to
112 .RI X + dx
113 .RI Y + dy
114 .TP 10
115 .BI li " x1 y1 x2 y2"
116 Draw a line from
117 .I "x1 y1"
118 to
119 .I "x2 y2."
120 Make the current point
121 .I "x2 y2."
122 .TP 10
123 .BI t " string"
124 Place the
125 .I string
126 so that its
127 first character is centered on the current point (default).
128 If
129 .I string
130 begins with
131 .L \eC
132 .RL ( \eR ),
133 it is centered (right-adjusted) on the current point.
134 A backslash at the beginning of the string may
135 be escaped with another backslash.
136 .TP 10
137 .BI a " x1 y1 x2 y2 xc yc r"
138 Draw a circular arc from
139 .I "x1 y1"
140 to
141 .I "x2 y2"
142 with center
143 .I "xc yc"
144 and radius
145 .IR r .
146 If the radius is positive, the arc is drawn counterclockwise;
147 negative, clockwise.
148 The starting point is exact but the ending point is approximate.
149 .TP 10
150 .BI ci " xc yc r"
151 Draw a circle centered at
152 .I "xc yc"
153 with radius
154 .IR r .
155 If the range and frame parameters do not specify a square,
156 the `circle' will be elliptical.
157 .TP 10
158 .BI di " xc yc r"
159 Draw a disc centered at
160 .I "xc yc"
161 with radius
162 .I r
163 using the filling color (see
164 .B cfill
165 below).
166 .TP 10
167 .BI bo " x1 y1 x2 y2"
168 Draw a box with lower left corner at
169 .I "x1 y1"
170 and upper right corner at
171 .I "x2 y2."
172 .TP 10
173 .BI sb " x1 y1 x2 y2"
174 Draw a solid box with lower left corner at
175 .I "x1 y1"
176 and upper right corner at
177 .I "x2 y2"
178 using the filling color (see
179 .B cfill
180 below).
181 .TP 10
182 .BI par " x1 y1 x2 y2 xg yg"
183 Draw a parabola from
184 .I "x1 y1"
185 to
186 .I "x2 y2"
187 `guided' by
188 .I "xg yg."
189 The parabola passes through the midpoint of the line joining
190 .I "xg yg"
191 with the midpoint of the line
192 joining
193 .I "x1 y1"
194 and
195 .I "x2 y2"
196 and is tangent to the lines from
197 .I "xg yg"
198 to the endpoints.
199 .TP 10
200 .BI "pol { {" "x1 y1 ... xn yn" } " ... " { "X1 Y1 ... Xm Ym\fP} }\fI"
201 Draw polygons with vertices
202 .I "x1 y1 ... xn yn"
203 and
204 .I "X1 Y1 ... Xm Ym."
205 If only one polygon is specified, the inner brackets are
206 not needed.
207 .TP 10
208 .BI "fi { {" "x1 y1 ... xn yn" } " ... " { "X1 Y1 ... Xm Ym\fP} }\fI"
209 Fill a polygon.
210 The arguments are the same as those for
211 .B pol
212 except that the first vertex is automatically repeated to
213 close each polygon.
214 The polygons do not have to be connected.
215 Enclosed polygons appear as holes.
216 .TP 10
217 .BI "sp { {" "x1 y1 ... xn yn" } " ... " { "X1 Y1 ... Xm Ym\fL} }\fI"
218 Draw a parabolic spline guided by
219 .I "x1 y1 ... xn yn"
220 with simple endpoints.
221 .TP 10
222 .BI "fsp { {" "x1 y1 ... xn yn" } " ... " { "X1 Y1 ... Xm Ym\fL} }\fI"
223 Draw a parabolic spline guided by
224 .I "x1 y1 ... xn yn"
225 with double first endpoint.
226 .TP 10
227 .BI "lsp { {" "x1 y1 ... xn yn" } " ... " { "X1 Y1 ... Xm Ym\fL} }\fI"
228 Draw a parabolic spline guided by
229 .I "x1 y1 ... xn yn"
230 with double last endpoint.
231 .TP 10
232 .BI "dsp { {" "x1 y1 ... xn yn" } " ... " { "X1 Y1 ... Xm Ym\fL} }\fI"
233 Draw a parabolic spline guided by
234 .I "x1 y1 ... xn yn"
235 with double endpoints.
236 .TP 10
237 .BI "csp { {" "x1 y1 ... xn yn" } " ... " { "X1 Y1 ... Xm Ym\fL} }\fI"
238 .TP 10
239 .BI in " filename"
240 (include) Take commands from
241 .IR filename .
242 .TP 10
243 .BI de " string " { " commands " }
244 Define
245 .I string
246 as
247 .IR commands .
248 .TP 10
249 .BI ca " string scale"
250 Invoke commands defined as
251 .I string
252 applying
253 .I scale
254 to all coordinates.
255 .PD
256 .SS "Commands Controlling the Environment"
257 .PD0
258 .TP 10
259 .BI co " string"
260 Use color given by first character of
261 .IR string ,
262 one of
263 .BR red ,
264 .BR yellow ,
265 .BR green ,
266 .BR blue ,
267 .BR cyan ,
268 .BR magenta ,
269 .BR white ,
270 and
271 .BR kblack .
272 If
273 .I string
274 begins with a digit, it is taken to be
275 a 32-bit number specifying 8 bit each of red, green, blue, and alpha.
276 For example,
277 .B 0xFFFF00FF
278 denotes solid yellow.
279 .TP 10
280 .BI pe " string"
281 Use
282 .I string
283 as the style for drawing lines.
284 The available pen styles are:
285 .BR solid ,
286 .BR dott [ed],
287 .BR short ,
288 .BR long ,
289 .BR dotd [ashed] ,
290 .BR cdash ,
291 .BR ddash
292 .TP 10
293 .BI cf " string"
294 Color for filling (see
295 .BR co ,
296 above).
297 .TP 10
298 .BI ra " x1 y1 x2 y2"
299 The data will fall between
300 .I "x1 y1"
301 and
302 .I "x2 y2."
303 The plot will be magnified or reduced to fit
304 the device as closely as possible.
305 .IP
306 Range settings that exactly fill the plotting area
307 with unity scaling appear below for
308 devices supported by the filters of
309 .IR plot (1).
310 The upper limit is just outside the plotting area.
311 In every case the plotting area is taken to be square;
312 points outside may be displayable on
313 devices with nonsquare faces.
314 .TP 10
315 .BI fr " px1 py1 px2 py2"
316 Plot the data in the fraction of the display
317 specified by
318 .I "px1 py1"
319 for lower left corner
320 and
321 .I "px2 py2"
322 for upper right corner.
323 Thus
324 .L frame .5 0 1. .5
325 plots in the lower right
326 quadrant of the display;
327 .L frame 0. 1. 1. 0.
328 uses the whole display but
329 inverts the
330 .I y
331 coordinates.
332 .TP 10
333 .B sa
334 Save the current environment, and move to a new one.
335 The new environment inherits the old one.
336 There are 7 levels.
337 .TP 10
338 .B re
339 Restore previous environment.
340 .PD
341 .SH "SEE ALSO"
342 .IR plot (1),
343 .MR graph (1)