[418] | 1 | .\" SCCSID: @(#)jgraph.1 1.1 10/23/89
|
---|
| 2 | .\" SCCSID: @(#)jgraph.1 1.1 10/23/89
|
---|
| 3 | .TH jgraph 1
|
---|
| 4 | .SH NAME
|
---|
| 5 | jgraph \- filter for graph plotting to postscript
|
---|
| 6 | .SH SYNTAX
|
---|
| 7 | .B jgraph
|
---|
| 8 | [\-\fIp\fR\|]
|
---|
| 9 | [\-\fIP\fR\|]
|
---|
| 10 | [\-\fIL\fR\|]
|
---|
| 11 | [\-\fIcomments\fR\|]
|
---|
| 12 | [\fIfilename\fR ...\|]
|
---|
| 13 | .SH DESCRIPTION
|
---|
| 14 | \fBJgraph\fR
|
---|
| 15 | takes the description of a graph or graphs
|
---|
| 16 | and produces a postscript file on the standard output.
|
---|
| 17 | \fBJgraph\fR
|
---|
| 18 | is ideal for plotting any mixture of scatter point graphs, line
|
---|
| 19 | graphs, and/or bar graphs, and embedding the output into LaTeX, or
|
---|
| 20 | any other text processing system which can read postscript.
|
---|
| 21 | .sp
|
---|
| 22 | \fBJgraph\fR reads its input from the specified files. If no
|
---|
| 23 | files are specified, then it reads from standard input.
|
---|
| 24 | .sp
|
---|
| 25 | The graph description language is simple enough to get nice looking
|
---|
| 26 | graphs with a minimum of effort, yet powerful enough to give the user
|
---|
| 27 | the flexibility to tailor the appearance of the graph to his or her
|
---|
| 28 | individual preferences. This includes plotting multiple graphs and
|
---|
| 29 | laying them out separately on the page (or pages).
|
---|
| 30 | .sp
|
---|
| 31 | As an example, if the user wanted to simply plot the points (2,3),
|
---|
| 32 | (4,5), (1,6), the following would be enough of a specification file:
|
---|
| 33 | .PP
|
---|
| 34 | .nf
|
---|
| 35 | newgraph
|
---|
| 36 | newcurve pts 2 3 4 5 1 6
|
---|
| 37 | .fi
|
---|
| 38 | .PP
|
---|
| 39 | Now, if the user wanted to spruce the graph up by adding labels to
|
---|
| 40 | the axes, connecting the points, and titling the graph, then the
|
---|
| 41 | input could change to:
|
---|
| 42 | .PP
|
---|
| 43 | .nf
|
---|
| 44 | newgraph
|
---|
| 45 | newcurve pts 2 3 4 5 1 6 linetype solid
|
---|
| 46 | xaxis label : X axis
|
---|
| 47 | yaxis label : Y axis
|
---|
| 48 | title : This is an example graph
|
---|
| 49 | .fi
|
---|
| 50 | .PP
|
---|
| 51 | If the user instead wanted this to be a bar graph with different
|
---|
| 52 | endpoints on the axes, he/she could simply change the input to:
|
---|
| 53 | .PP
|
---|
| 54 | .nf
|
---|
| 55 | newgraph
|
---|
| 56 | xaxis min 0 max 5 label : X axis
|
---|
| 57 | yaxis min 0 max 6 label : Y axis
|
---|
| 58 | newcurve pts 2 3 4 5 1 6 marktype xbar
|
---|
| 59 | title : This is an example bar graph
|
---|
| 60 | .fi
|
---|
| 61 | .PP
|
---|
| 62 | There are many more features of the description language, which are
|
---|
| 63 | described below in the next section. Features which are not embedded
|
---|
| 64 | within the description language are: line and function interpolation,
|
---|
| 65 | function plotting, and pie graphs. The latter is impossible to do
|
---|
| 66 | with the aid of
|
---|
[419] | 67 | \fBjgraph\fR,
|
---|
[418] | 68 | however, the others can be effected with
|
---|
| 69 | \fBjgraph \fR
|
---|
| 70 | mixed with awk or c. See
|
---|
| 71 | FUNCTION PLOTTING AND OTHER NON-INHERENT FEATURES
|
---|
| 72 | below.
|
---|
| 73 | .sp
|
---|
| 74 | Also below is a section
|
---|
| 75 | HINTS AND EXAMPLE GRAPHS, which may give good
|
---|
| 76 | ideas on how to use
|
---|
| 77 | \fBjgraph \fR
|
---|
| 78 | more effectively.
|
---|
| 79 | .SH OPTIONS
|
---|
| 80 | .TP
|
---|
| 81 | .B \-P
|
---|
| 82 | The
|
---|
| 83 | \fB\-P\fR
|
---|
| 84 | option produces postscript which can be piped directly to
|
---|
| 85 | \fBlpr,\fR
|
---|
| 86 | which can be displayed in an Xwindows environment with
|
---|
| 87 | \fBgs\fR
|
---|
| 88 | (ghostscript).
|
---|
| 89 | Without this option, the output should be embedded within
|
---|
| 90 | \fBLaTeX\fR
|
---|
| 91 | or a similar text processing system.
|
---|
| 92 | .TP
|
---|
| 93 | .B \-L
|
---|
| 94 | The
|
---|
| 95 | \fB\-L\fR
|
---|
| 96 | option produces a landscape plot.
|
---|
| 97 | .TP
|
---|
| 98 | .B \-p
|
---|
| 99 | The
|
---|
| 100 | \fB\-p\fR
|
---|
| 101 | option re-prints the input on the standard output, only
|
---|
| 102 | with all the defaults made explicit. This is useful for letting the
|
---|
| 103 | user do his/her own special formatting, as it shows the explicit
|
---|
| 104 | values that the defaults assume, so that they can be manipulated.
|
---|
| 105 | .TP
|
---|
| 106 | .B \-comments
|
---|
| 107 | This option makes jgraph put comments into the output postscript. These
|
---|
| 108 | make it easier for the user to wade through the final postscript if
|
---|
| 109 | necessary.
|
---|
| 110 | .SH THE DESCRIPTION LANGUAGE
|
---|
| 111 | The description language is essentially keywords followed by
|
---|
| 112 | attributes. All keywords and attributes except for string attributes
|
---|
| 113 | are tokens -- non-white-space characters surrounded by white-space.
|
---|
| 114 | Special tokens are
|
---|
| 115 | ``(*'', ``*)'', ``include'', ``:'', and ``shell'', which denote
|
---|
| 116 | comments, include-file statements, string identifiers, and shell-include
|
---|
| 117 | statements:
|
---|
| 118 | .TP
|
---|
| 119 | .B Comments
|
---|
| 120 | Comments are surrounded by the tokens ``(*'' ``*)'' as in
|
---|
| 121 | Modula-2 (except that here, the tokens must be surrounded by white-
|
---|
| 122 | space). Comments may be nested. If the comment runs to the end of a
|
---|
| 123 | file, the last ``*)'' may be omitted.
|
---|
| 124 | .TP
|
---|
| 125 | .B Include\-file statements
|
---|
| 126 | The token following an ``include'' token is
|
---|
| 127 | expected to be a file name. The result of the statement is to
|
---|
| 128 | include the contents of the file at that point. Include-file
|
---|
| 129 | statments can be nested within included files, and within shell
|
---|
| 130 | includes.
|
---|
| 131 | .TP
|
---|
| 132 | .B Strings
|
---|
| 133 | In places where strings are required (as in graph and
|
---|
| 134 | curve labels), they are denoted by the token ``:''. The second
|
---|
| 135 | character after the ``:'' starts the string, and the next newline
|
---|
| 136 | character terminates it.
|
---|
| 137 | Thus, the string ``Graph #1'' can be denoted as:
|
---|
| 138 | .nf
|
---|
| 139 |
|
---|
| 140 | : Graph #1<newline>
|
---|
| 141 |
|
---|
| 142 | or
|
---|
| 143 |
|
---|
| 144 | :<newline>
|
---|
| 145 | Graph #1<newline>
|
---|
| 146 |
|
---|
| 147 | .fi
|
---|
| 148 | One can get multiline strings by making
|
---|
| 149 | a backslash the last character before the newline on all but the
|
---|
| 150 | last line. Notice that in strings white-space is not ignored.
|
---|
| 151 | This way of denoting strings allows the user to embed leading and
|
---|
| 152 | trailing spaces, as well as the null string. For example, the
|
---|
| 153 | null string ``'' is represented by:
|
---|
| 154 | .nf
|
---|
| 155 |
|
---|
| 156 | : <newline>
|
---|
| 157 |
|
---|
| 158 | .fi
|
---|
| 159 | Once a string has been started, it may contain any character.
|
---|
| 160 | Specifically, it may contain the sequence ``(*'', ``shell'',
|
---|
| 161 | or ``include'' without starting a comment or including a file.
|
---|
| 162 | Each line of a string must contain less than 1000 characters. Otherwise
|
---|
| 163 | string sizes are limited only by the size of memory.
|
---|
| 164 | .TP
|
---|
| 165 | .B Shell\-include statements
|
---|
| 166 | Shell include statements are of the form ``shell'', ``:'', and then
|
---|
| 167 | a string. The result of the statement is that the string is executed
|
---|
| 168 | (using popen, which passes the string to sh), and the standard
|
---|
| 169 | output is included at that point. Shell-includes can be freely
|
---|
| 170 | nested within include-files and other shell-includes. Shell
|
---|
| 171 | commands may be more than one line, but must not exceed 1000 characters.
|
---|
| 172 | The shell statement is not (yet) available on VMS.
|
---|
| 173 | .TP
|
---|
| 174 | .B Notation
|
---|
| 175 | In the descriptions below:
|
---|
| 176 | .RS
|
---|
| 177 | .TP
|
---|
| 178 | \fBtk \|{\fIinteger\fB\|}\fR
|
---|
| 179 | means that token
|
---|
| 180 | \fBtk \fR
|
---|
| 181 | must be followed by an integer.
|
---|
| 182 | .TP
|
---|
| 183 | \fBtk \|[\fIinteger\fB\|]\fR
|
---|
| 184 | means that
|
---|
| 185 | \fBtk\fR
|
---|
| 186 | may be followed by an integer, but doesn't have to. In most cases, if
|
---|
| 187 | \fBtk\fR
|
---|
| 188 | is not followed by an integer, then the command denoted by
|
---|
| 189 | \fBtk \fR
|
---|
| 190 | is ignored.
|
---|
| 191 | .TP
|
---|
| 192 | \fBtk \|[\|{\fIinteger\fB\|} \|{\fIinteger\fB\|}\|]*
|
---|
| 193 | means that
|
---|
| 194 | \fBtk\fR
|
---|
| 195 | must be
|
---|
| 196 | followed by an even number of integers.
|
---|
| 197 | .PD
|
---|
| 198 | .LP
|
---|
| 199 | Supported types other than
|
---|
| 200 | integer are:
|
---|
| 201 | \fB\|{\fIfloat\fB\|} \fR
|
---|
| 202 | for floating point entries,
|
---|
| 203 | \fB\|{\fItoken\fB\|} \fR
|
---|
| 204 | for any
|
---|
| 205 | token, and
|
---|
| 206 | \fB\|{\fIstring\fB\|} \fR
|
---|
| 207 | for a string as defined above.
|
---|
| 208 | .RE
|
---|
| 209 | .TP
|
---|
| 210 | .B TOP-LEVEL DESCRIPTION COMMANDS
|
---|
| 211 | .RS
|
---|
| 212 | .TP
|
---|
| 213 | .B newgraph
|
---|
| 214 | This starts editing a new graph (see GRAPH EDITING
|
---|
| 215 | COMMANDS). Note that multiple graphs may be drawn on the same page.
|
---|
| 216 | .TP
|
---|
| 217 | \fBgraph \|{\fIinteger\fB\|}\fR
|
---|
| 218 | This edits the graph denoted by
|
---|
| 219 | \fB\|{\fIinteger\fB\|}. \fR
|
---|
| 220 | If the graph doesn't exist, then this command creates it and starts
|
---|
| 221 | editing it.
|
---|
| 222 | \fBNewgraph\fR
|
---|
| 223 | is simply an abbreviation for
|
---|
| 224 | \fB\fIgraph\fB \fIn\fB\fR
|
---|
| 225 | where n=0 if this is the first graph, otherwise n=m+1, where m is the
|
---|
| 226 | largest number of any graph so far.
|
---|
| 227 | .TP
|
---|
| 228 | \fBcopygraph \|[\fIinteger\fB\|]\fR
|
---|
| 229 | This creates a new graph, and copies all the attributes from the
|
---|
| 230 | graph
|
---|
| 231 | \fB\|[\fIinteger\fB\|]'s\fR
|
---|
| 232 | x and y axes, as well as its
|
---|
| 233 | \fB\fIx_translate\fB\fR
|
---|
| 234 | and
|
---|
| 235 | \fB\fIy_translate\fB\fR
|
---|
| 236 | values, the clipping, the legend defaults, and
|
---|
| 237 | the title defaults. If the
|
---|
| 238 | \fB\|[\fIinteger\fB\|]\fR
|
---|
| 239 | is omitted, then it copies its values from the ``previous''
|
---|
| 240 | graph, which is
|
---|
| 241 | defined to be the graph with the largest number
|
---|
| 242 | less than the currrent graph's number. If the current
|
---|
| 243 | graph has the smallest number, then it will take the last graph from
|
---|
| 244 | the previous page of graphs. If there is no previous page, then an
|
---|
| 245 | error will be flagged.
|
---|
| 246 | (copygraph does not copy the values of the
|
---|
[419] | 247 | \fB\fIhash_at\fR, \fImhash_at\fR,\fR
|
---|
[418] | 248 | and
|
---|
| 249 | \fB\fI\fIhash_label\fB\fR
|
---|
| 250 | attributes).
|
---|
| 251 | .TP
|
---|
| 252 | .B newpage
|
---|
| 253 | This command is for plotting graphs on multiple pages. After a
|
---|
| 254 | \fBnewpage,\fR
|
---|
| 255 | the graphs that the user enters will be plotted on a new page.
|
---|
| 256 | New graphs and strings will be numbered starting with 0.
|
---|
| 257 | Essentially,
|
---|
| 258 | \fB\fInewpage\fB\fR
|
---|
| 259 | is the same as appending together the output of separate calls of
|
---|
| 260 | jgraph on the text before the
|
---|
[419] | 261 | \fB\fInewpage\fR,\fR
|
---|
[418] | 262 | and on the text after the
|
---|
[419] | 263 | \fB\fInewpage.\fR
|
---|
[418] | 264 | \fB\fINewpage\fB\fR
|
---|
| 265 | will most likely produce bizarre results if the
|
---|
| 266 | \fB\-P\fR
|
---|
| 267 | option is not specified.
|
---|
| 268 | .TP
|
---|
| 269 | \fBX \|[\fIfloat\fB\|]\fR
|
---|
| 270 | .br
|
---|
| 271 | .ns
|
---|
| 272 | .TP
|
---|
| 273 | \fBY \|[\fIfloat\fB\|]\fR
|
---|
| 274 | Postscript files to be embedded in LaTeX (and some other programs)
|
---|
| 275 | contain a ``bounding box''
|
---|
| 276 | which defines the area which LaTeX will allocate for the postscript.
|
---|
| 277 | Other programs use this bounding box as well, sometimes using it
|
---|
| 278 | to define where to clip the postscript image.
|
---|
| 279 | \fBJgraph \fR
|
---|
| 280 | uses the axis lines and labels, and the title to generate its
|
---|
| 281 | bounding box. Most of the time that's good enough to work in
|
---|
| 282 | LaTeX. The
|
---|
| 283 | \fB\fIY\fB\fR
|
---|
| 284 | and
|
---|
| 285 | \fB\fIX\fB\fR
|
---|
| 286 | commands say to make the height and width of the bounding box at least
|
---|
| 287 | \fB\fIY\fB\fR
|
---|
| 288 | and
|
---|
| 289 | \fB\fIX\fB\fR
|
---|
| 290 | inches, respectively, but to maintain the current centering of the
|
---|
| 291 | graph. If you still need further control over the
|
---|
| 292 | bounding box (e.g. to change the centering), try the
|
---|
| 293 | \fB\fIbbox\fB\fR
|
---|
| 294 | command. If there's more than one page in the jgraph file,
|
---|
[419] | 295 | \fB\fIY\fR,\fR
|
---|
[418] | 296 | \fB\fIX\fB\fR
|
---|
| 297 | and
|
---|
| 298 | \fB\fIbbox\fB\fR
|
---|
| 299 | values can be given for each graph.
|
---|
| 300 | .TP
|
---|
| 301 | \fBbbox \fIfloat\fB \fIfloat\fB \fIfloat\fB \fIfloat\fB\fR
|
---|
| 302 | If the
|
---|
| 303 | \fB\fIY\fB\fR
|
---|
| 304 | and
|
---|
| 305 | \fB\fIX\fB\fR
|
---|
| 306 | commands aren't enough to help you define a good bounding box, this
|
---|
| 307 | command lets you explicitly enter one which will go directly into the
|
---|
| 308 | jgraph output. Its units are the
|
---|
| 309 | final postscript units. It's probably best to use the
|
---|
[419] | 310 | \fB\-p\fR
|
---|
[418] | 311 | option
|
---|
| 312 | to see what the bounding box is that jgraph produces, and then
|
---|
| 313 | alter that accordingly with
|
---|
[419] | 314 | \fB\fIbbox.\fR
|
---|
[418] | 315 | The main use for this is to change the automatic centering that jgraph
|
---|
| 316 | performs: Usually the center of the bounding box that jgraph computes
|
---|
| 317 | is put at the center of the page. Changing the bbox changes this
|
---|
| 318 | center.
|
---|
| 319 | .TP
|
---|
| 320 | \fBpreamble : \|{\fIstring\fB\|}\fR
|
---|
| 321 | .br
|
---|
| 322 | .ns
|
---|
| 323 | .TP
|
---|
| 324 | \fBpreamble {\fItoken\fB\|}\fR
|
---|
| 325 | .br
|
---|
| 326 | .ns
|
---|
| 327 | .TP
|
---|
| 328 | \fBepilogue : \|{\fIstring\fB\|}\fR
|
---|
| 329 | .br
|
---|
| 330 | .ns
|
---|
| 331 | .TP
|
---|
| 332 | \fBepilogue {\fItoken\fB\|}\fR
|
---|
| 333 | These two commands allow the user to include strings or
|
---|
| 334 | files (the token specifies the filename) which will be copied directly
|
---|
| 335 | into jgraph's output.
|
---|
[419] | 336 | The \fIpreamble\fR is included at the beginning of the output
|
---|
[418] | 337 | (after some initial postscript to set things up for jgraph),
|
---|
[419] | 338 | and the \fIepilogue\fR is included at the end. A good use for
|
---|
| 339 | the \fIpreamble\fR is to set up a postscript dictionary if you're
|
---|
[418] | 340 | using postscript marks.
|
---|
| 341 | .PD
|
---|
| 342 | .RE
|
---|
| 343 | .LP
|
---|
| 344 | .TP
|
---|
| 345 | .B GRAPH EDITING COMMANDS
|
---|
| 346 | These commands act on the current graph.
|
---|
| 347 | Graph editing is terminated when one of the top-level description
|
---|
| 348 | commands is given.
|
---|
| 349 | .RS
|
---|
| 350 | .TP
|
---|
| 351 | \fBxaxis\fR
|
---|
| 352 | .br
|
---|
| 353 | .ns
|
---|
| 354 | .TP
|
---|
| 355 | \fByaxis\fR
|
---|
| 356 | Edit the x or y axis (see AXIS EDITING COMMANDS)
|
---|
| 357 | .TP
|
---|
| 358 | \fBnewcurve\fR
|
---|
| 359 | This starts editing a new curve of the graph (see CURVE
|
---|
| 360 | EDITING COMMANDS).
|
---|
| 361 | .TP
|
---|
| 362 | \fBcurve \|{\fIinteger\fB\|}\fR
|
---|
| 363 | This edits the curve denoted by
|
---|
| 364 | \fB\|{\fIinteger\fB\|}. \fR
|
---|
| 365 | If the curve doesn't exist, then this command creates it and starts
|
---|
| 366 | editing it.
|
---|
[419] | 367 | \fINewcurve\fR
|
---|
[418] | 368 | and
|
---|
[419] | 369 | \fIcurve\fR
|
---|
[418] | 370 | interact as
|
---|
[419] | 371 | \fInewgraph\fR
|
---|
[418] | 372 | and
|
---|
[419] | 373 | \fIgraph\fR
|
---|
[418] | 374 | do.
|
---|
| 375 | .TP
|
---|
| 376 | \fBnewline\fR
|
---|
| 377 | This is an abbreviation for:
|
---|
| 378 | .PP
|
---|
| 379 | .nf
|
---|
| 380 | newcurve marktype none linetype solid
|
---|
| 381 | .fi
|
---|
| 382 | .PP
|
---|
| 383 | .TP
|
---|
| 384 | \fBcopycurve \|[\fIinteger\fB\|]\fR
|
---|
| 385 | This starts editing a new curve of the graph, and copies all its
|
---|
| 386 | values except for the points from curve
|
---|
| 387 | \fB\|[\fIinteger.\fB\|]\fR
|
---|
| 388 | If the
|
---|
| 389 | \fB\|[\fIinteger\fB\|]\fR
|
---|
| 390 | is omitted, then it copies its values from the
|
---|
| 391 | last curve in this graph. If this graph currently has
|
---|
| 392 | no curves, then it searches backwards from the previous graph.
|
---|
| 393 | .TP
|
---|
| 394 | \fBtitle\fR
|
---|
| 395 | This edits the title of the graph (see LABEL EDITING
|
---|
| 396 | COMMANDS). The title is given a default location centered beneath
|
---|
| 397 | the graph, and a default font size of 12, however, as with all
|
---|
| 398 | labels, this can be changed.
|
---|
| 399 | .TP
|
---|
| 400 | \fBlegend\fR
|
---|
| 401 | The edits the legend of the graph (see LEGEND EDITING
|
---|
| 402 | COMMANDS). As a default, the graph will contain a legend
|
---|
| 403 | if any of its curves have labels.
|
---|
| 404 | .TP
|
---|
| 405 | \fBnewstring\fR
|
---|
| 406 | This edits a new text string (see LABEL EDITING
|
---|
| 407 | COMMANDS). This is useful as it allows the user to plot text on the
|
---|
| 408 | graph as well as curves.
|
---|
| 409 | .TP
|
---|
| 410 | \fBstring \|{\fIinteger\fB\|}\fR
|
---|
| 411 | .br
|
---|
| 412 | .ns
|
---|
| 413 | .TP
|
---|
| 414 | \fBcopystring \|[\fIinteger\fB\|]\fR
|
---|
[419] | 415 | \fIString\fR
|
---|
[418] | 416 | and
|
---|
[419] | 417 | \fIcopystring\fR
|
---|
[418] | 418 | are to
|
---|
[419] | 419 | \fInewstring\fR
|
---|
[418] | 420 | as
|
---|
[419] | 421 | \fIcurve\fR
|
---|
[418] | 422 | and
|
---|
[419] | 423 | \fIcopycurve\fR
|
---|
[418] | 424 | are to
|
---|
[419] | 425 | \fInewcurve\fR.
|
---|
[418] | 426 | .TP
|
---|
| 427 | \fBborder\fR
|
---|
| 428 | .br
|
---|
| 429 | .ns
|
---|
| 430 | .TP
|
---|
| 431 | \fBnoborder\fR
|
---|
[419] | 432 | \fIBorder\fR
|
---|
[418] | 433 | draws a square border around the area defined by the axes.
|
---|
[419] | 434 | \fINoborder\fR
|
---|
[418] | 435 | specifies no border.
|
---|
[419] | 436 | \fINoborder\fR
|
---|
[418] | 437 | is the default.
|
---|
| 438 | .TP
|
---|
| 439 | \fBclip\fR
|
---|
| 440 | .br
|
---|
| 441 | .ns
|
---|
| 442 | .TP
|
---|
| 443 | \fBnoclip\fR
|
---|
[419] | 444 | \fIClip\fR
|
---|
[418] | 445 | specifies that all curves in the graph will be clipped -- that is,
|
---|
| 446 | no points outside of the of axes will be plotted. Clipping can also be
|
---|
| 447 | specified on a per-curve basis. The default is
|
---|
[419] | 448 | \fInoclip\fR.
|
---|
[418] | 449 | .TP
|
---|
| 450 | \fBinherit_axes\fR
|
---|
| 451 | This is an old command which is kept for backward compatibility.
|
---|
[419] | 452 | \fICopycurve\fR.
|
---|
[418] | 453 | is equivalent to:
|
---|
| 454 | .PP
|
---|
| 455 | .nf
|
---|
| 456 | newgraph inherit_axes
|
---|
| 457 | .fi
|
---|
| 458 | .PP
|
---|
| 459 | .TP
|
---|
| 460 | \fBx_translate \|[\fIfloat\fB\|]\fR
|
---|
| 461 | .br
|
---|
| 462 | .ns
|
---|
| 463 | .TP
|
---|
| 464 | \fBy_translate \|[\fIfloat\fB\|]\fR
|
---|
| 465 | By default, the bottom left-hand corner of each graph is at point
|
---|
| 466 | (0,0) (final postscript units).
|
---|
[419] | 467 | \fIX_translate\fR
|
---|
[418] | 468 | and
|
---|
[419] | 469 | \fIY_translate\fR
|
---|
[418] | 470 | translate the bottom left-hand corner of the graph
|
---|
| 471 | \fB\|[\fIfloat\fB\|] \fR
|
---|
| 472 | inches. The main use of this is to draw more than one graph on
|
---|
| 473 | a page. Note that jgraph considers all the graphs drawn on the
|
---|
| 474 | page when it computes its bounding box for centering. Thus, if
|
---|
| 475 | only one graph is drawn, it will always be centered on the page,
|
---|
| 476 | regardless of its
|
---|
[419] | 477 | \fIX_translate\fR
|
---|
[418] | 478 | and
|
---|
[419] | 479 | \fIY_translate\fR
|
---|
[418] | 480 | values. These values are used for relative placement of the graphs.
|
---|
| 481 | To change the centering of the graphs, use
|
---|
[419] | 482 | \fIbbox.\fR
|
---|
[418] | 483 | .TP
|
---|
| 484 | \fBX \|[\fIfloat\fB\|]\fR
|
---|
| 485 | .br
|
---|
| 486 | .ns
|
---|
| 487 | .TP
|
---|
| 488 | \fBY \|[\fIfloat\fB\|]\fR
|
---|
| 489 | These are the same as
|
---|
[419] | 490 | \fIX\fR
|
---|
[418] | 491 | and
|
---|
[419] | 492 | \fIY\fR
|
---|
[418] | 493 | in the
|
---|
| 494 | Top-level commands, except that they let the user continue editing
|
---|
| 495 | the current graph.
|
---|
| 496 | .PD
|
---|
| 497 | .RE
|
---|
| 498 | .LP
|
---|
| 499 | .TP
|
---|
| 500 | .B SIMPLE AXIS EDITING COMMANDS
|
---|
| 501 | These commands act on the current
|
---|
| 502 | axis as chosen by
|
---|
[419] | 503 | \fIxaxis\fR
|
---|
[418] | 504 | or
|
---|
[419] | 505 | \fIyaxis\fR
|
---|
[418] | 506 | (see GRAPH EDITING COMMANDS).
|
---|
| 507 | Axis editing terminates when a graph or top-level command is given.
|
---|
| 508 | There are more advanced axis editing commands given below which have
|
---|
| 509 | to do with moving the hash marks, adding new hash marks and labels,
|
---|
| 510 | etc. See ADVANCED AXIS EDITING COMMANDS.
|
---|
| 511 | .RS
|
---|
| 512 | .TP
|
---|
| 513 | \fBlinear\fR
|
---|
| 514 | .br
|
---|
| 515 | .ns
|
---|
| 516 | .TP
|
---|
| 517 | .B log
|
---|
| 518 | Set the axis to be linear or logarithmic. The
|
---|
| 519 | default is linear. If the axis is set to be logarithmic, then values
|
---|
| 520 | <= 0.0 will be disallowed, as they are at negative infinity on the
|
---|
[419] | 521 | axis. If you are using logarithmic axes and the labels shows 0 0 1 10
|
---|
| 522 | instead of 0.01 0.1 1 10, then you should read "hash_format" in this
|
---|
| 523 | section. Hint: xaxis log hash_format g
|
---|
[418] | 524 | .TP
|
---|
| 525 | \fBmin \|[\fIfloat\fB\|]\fR
|
---|
| 526 | .br
|
---|
| 527 | .ns
|
---|
| 528 | .TP
|
---|
| 529 | \fBmax \|[\fIfloat\fB\|]\fR
|
---|
| 530 | Set the minimum and maximum values of
|
---|
| 531 | this axis. Defaults depend on the points given. They can be seen by
|
---|
| 532 | using the
|
---|
| 533 | \fB\-p \fR
|
---|
| 534 | option. Unless stated, all units (for example point
|
---|
| 535 | plotting, string plotting, etc.) will be in terms of the
|
---|
[419] | 536 | \fImin\fR
|
---|
[418] | 537 | and
|
---|
[419] | 538 | \fImax\fR
|
---|
[418] | 539 | values of the x and y axes.
|
---|
| 540 | .TP
|
---|
| 541 | \fBsize \|[\fIfloat\fB\|]\fR
|
---|
| 542 | Set the size of this axis in inches.
|
---|
| 543 | .TP
|
---|
| 544 | \fBlog_base \|[\fIfloat\fB\|]\fR
|
---|
| 545 | Set the base of the logarithmic axis. Default =
|
---|
| 546 | 10. This is the value which determines which hash
|
---|
| 547 | marks and hash labels are automatically produced.
|
---|
| 548 | .TP
|
---|
| 549 | \fBhash \|[\fIfloat\fB\|]\fR
|
---|
| 550 | Hash marks will be
|
---|
| 551 | \fB\|[\fIfloat\fB\|] \fR
|
---|
| 552 | units apart. Default = -1.
|
---|
| 553 | If this value equals 0, then there will be no hash marks. If
|
---|
| 554 | this value is less than 0, then the hash marks will be automatically
|
---|
| 555 | set by
|
---|
| 556 | \fBjgraph \fR
|
---|
| 557 | (see
|
---|
| 558 | \fB\-p \fR
|
---|
| 559 | for the value). By default, each hash mark
|
---|
| 560 | will be labeled with its value.
|
---|
[419] | 561 | \fIHash\fR
|
---|
[418] | 562 | and
|
---|
[419] | 563 | \fIshash\fR
|
---|
[418] | 564 | are ignored if
|
---|
| 565 | the axes are logarithmic.
|
---|
| 566 | .TP
|
---|
| 567 | \fBshash \|[\fIfloat\fB\|]\fR
|
---|
| 568 | Make sure there is a hash mark at the point
|
---|
| 569 | \fB\|[\fIfloat\fB\|] \fR
|
---|
| 570 | along the axis. The default is set by
|
---|
| 571 | \fBjgraph\fR
|
---|
| 572 | if
|
---|
| 573 | \fBhash\fR
|
---|
| 574 | = -1.
|
---|
| 575 | If
|
---|
[419] | 576 | \fIhash\fR
|
---|
[418] | 577 | is set by the user,
|
---|
[419] | 578 | \fIshash\fR
|
---|
[418] | 579 | is defaulted to the
|
---|
[419] | 580 | \fImin\fR
|
---|
[418] | 581 | value of the axis.
|
---|
| 582 | .TP
|
---|
| 583 | \fBmhash \|[\fIinteger\fB\|]\fR
|
---|
| 584 | Put
|
---|
| 585 | \fB\|[\fIinteger\fB\|] \fR
|
---|
| 586 | minor hash marks between the above
|
---|
| 587 | hash marks. Default = -1. If this value equals 0, then there will
|
---|
| 588 | be no minor hash marks. If this value is negative, then the value
|
---|
| 589 | will be chosen by
|
---|
| 590 | \fBjgraph \fR
|
---|
| 591 | (see
|
---|
| 592 | \fB\-p\fR
|
---|
| 593 | for the value).
|
---|
| 594 | .TP
|
---|
| 595 | \fBprecision \|[\fIinteger\fB\|]\fR
|
---|
| 596 | .TP
|
---|
| 597 | \fBhash_format \fItoken\fB\fR
|
---|
| 598 | These control how jgraph formats the automatic hash labels.
|
---|
| 599 | The user shouldn't have to worry about these values, except in
|
---|
| 600 | extreme cases. Jgraph uses \fBprintf\fR to format the labels.
|
---|
| 601 | If \fBhash_format\fR is ``f'' (the default), then the
|
---|
| 602 | value of a hash label is printed with
|
---|
| 603 | .PP
|
---|
| 604 | .nf
|
---|
| 605 | printf("%.*f", precision, value).
|
---|
| 606 | .fi
|
---|
| 607 | .PP
|
---|
| 608 | Other valid \fBhash_format\fR values are ``G'', ``g'', ``E'', and ``e''.
|
---|
| 609 | ``G'' is a good generic format which converts to scientific notation
|
---|
| 610 | if the value becomes too big or too small.
|
---|
| 611 | If the precision is negative, then jgraph chooses a default: For
|
---|
| 612 | ``g'' and ``G'', the default is 6. For ``e'' and ``E'', the default
|
---|
| 613 | is 0, and for ``f'', jgraph tries to determine a reasonable default.
|
---|
| 614 | Please read the man page of \fBprinf(1)\fR for a complete description
|
---|
| 615 | of how it formats floating point numbers.
|
---|
| 616 | .TP
|
---|
| 617 | \fBlabel\fR
|
---|
| 618 | Edit the label of this axis (see LABEL EDITING COMMANDS).
|
---|
| 619 | By default, the label is in font ``Times-Bold'', and has a font size of
|
---|
| 620 | 10. If the user doesn't change any of the plotting attributes of the
|
---|
| 621 | label,
|
---|
| 622 | \fBjgraph \fR
|
---|
| 623 | chooses an appropriate place for the axis label.
|
---|
| 624 | .TP
|
---|
| 625 | \fBdraw_at \|[\fIfloat\fB\|]\fR
|
---|
| 626 | Draw the axis line at this point on the other axis.
|
---|
| 627 | The default is usually the other axis's
|
---|
[419] | 628 | \fImin\fR,
|
---|
[418] | 629 | however if
|
---|
[419] | 630 | \fIhash_scale \fR
|
---|
[418] | 631 | is positive (see
|
---|
[419] | 632 | \fIhash_scale \fR
|
---|
[418] | 633 | under ADVANCED AXIS EDITING), it will be
|
---|
| 634 | the other axis's
|
---|
[419] | 635 | \fImax\fR.
|
---|
[418] | 636 | .TP
|
---|
| 637 | \fBnodraw\fR
|
---|
| 638 | Do not draw the axis, the hash marks or any labels. This
|
---|
| 639 | is useful for plotting points with no axes, and for overlaying graphs
|
---|
| 640 | on top of one another with no clashes. This is equivalent to
|
---|
[419] | 641 | \fIno_draw_axis\fR,
|
---|
| 642 | \fIno_draw_axis_label\fR,
|
---|
| 643 | \fIno_draw_hash_marks\fR,
|
---|
[418] | 644 | and
|
---|
[419] | 645 | \fIno_draw_hash_labels\fR.
|
---|
[418] | 646 | .TP
|
---|
| 647 | \fBdraw\fR
|
---|
| 648 | Cancels the effect of
|
---|
[419] | 649 | \fInodraw\fR.
|
---|
[418] | 650 | Default =
|
---|
[419] | 651 | \fIdraw\fR
|
---|
[418] | 652 | This is
|
---|
| 653 | equivalent to
|
---|
[419] | 654 | \fIdraw_axis\fR,
|
---|
| 655 | \fIdraw_axis_label\fR,
|
---|
| 656 | \fIdraw_hash_marks\fR,
|
---|
[418] | 657 | and
|
---|
[419] | 658 | \fIdraw_hash_labels\fR.
|
---|
[418] | 659 | .TP
|
---|
| 660 | \fBgrid_lines\fR
|
---|
| 661 | .br
|
---|
| 662 | .ns
|
---|
| 663 | .TP
|
---|
| 664 | \fBno_grid_lines\fR
|
---|
[419] | 665 | \fIGrid_lines\fR
|
---|
[418] | 666 | specifies to plot a grid line at each major hash
|
---|
| 667 | mark on this axis. The default is
|
---|
[419] | 668 | \fIno_grid_lines.\fR
|
---|
[418] | 669 | .TP
|
---|
| 670 | \fBmgrid_lines\fR
|
---|
| 671 | .br
|
---|
| 672 | .ns
|
---|
| 673 | .TP
|
---|
| 674 | \fBno_mgrid_lines\fR
|
---|
[419] | 675 | \fIMgrid_lines\fR
|
---|
[418] | 676 | specifies to plot a grid line at each minor hash
|
---|
| 677 | mark on this axis. The default is
|
---|
[419] | 678 | \fIno_mgrid_lines\fR.
|
---|
[418] | 679 | .PD
|
---|
| 680 | .RE
|
---|
| 681 | .LP
|
---|
| 682 | .TP
|
---|
| 683 | .B CURVE EDITING COMMANDS
|
---|
| 684 | These commands act on the current curve as
|
---|
| 685 | chosen by
|
---|
[419] | 686 | \fInewcurve\fR
|
---|
[418] | 687 | or
|
---|
[419] | 688 | \fIcurve\fR
|
---|
[418] | 689 | (see GRAPH EDITING COMMANDS). Curve
|
---|
| 690 | editing terminates when a graph or top-level command is given.
|
---|
| 691 | .RS
|
---|
| 692 | .TP
|
---|
| 693 | \fBpts \|[\|{\fIfloat\fB\|} \|{\fIfloat\fB\|}\|]*\fR
|
---|
| 694 | This sets the points to plot in this
|
---|
| 695 | curve. The first
|
---|
[419] | 696 | \fIfloat\fR
|
---|
[418] | 697 | is the x value, and the second
|
---|
[419] | 698 | \fIfloat\fR
|
---|
[418] | 699 | is the y
|
---|
| 700 | value of the point. Points are plotted in the order specified.
|
---|
| 701 | This command stops reading points when a non-float is given.
|
---|
| 702 | The user can specify this command multiple times within a curve --
|
---|
| 703 | each time, simply more points are added to the curve.
|
---|
| 704 | .TP
|
---|
| 705 | \fBx_epts \|[\|{\fIfloat\fB\|} \|{\fIfloat\fB\|} \|{\fIfloat\fB\|} \|{\fIfloat\fB\|}\|]*\fR
|
---|
| 706 | .br
|
---|
| 707 | .ns
|
---|
| 708 | .TP
|
---|
| 709 | \fBy_epts \|[\|{\fIfloat\fB\|} \|{\fIfloat\fB\|} \|{\fIfloat\fB\|} \|{\fIfloat\fB\|}\|]*\fR
|
---|
| 710 | This allows the user to specify points and ``confidence values'' (otherwise
|
---|
| 711 | known as ``error bars''). The first two
|
---|
[419] | 712 | \fIfloats\fR
|
---|
[418] | 713 | specify the x and y values of
|
---|
| 714 | the point, as above. If
|
---|
| 715 | \fBx_epts\fR
|
---|
| 716 | is specified, then the second two
|
---|
[419] | 717 | \fIfloats\fR
|
---|
[418] | 718 | specify range or confidence values
|
---|
| 719 | for the x value of the point.
|
---|
| 720 | Error bars will be printed to each of these x values (using the
|
---|
| 721 | original point's y value)
|
---|
| 722 | from the original point. Similarly,
|
---|
[419] | 723 | \fIy_epts\fR
|
---|
[418] | 724 | specifies range or confidence values for the y value of the point.
|
---|
[419] | 725 | \fIpts\fR
|
---|
| 726 | \fIx_epts\fR
|
---|
[418] | 727 | and
|
---|
[419] | 728 | \fIy_epts\fR
|
---|
[418] | 729 | can all be intermixed.
|
---|
| 730 | .TP
|
---|
| 731 | \fBmarktype\fR
|
---|
| 732 | This sets the kind of mark that is plotted for this curve. Valid
|
---|
| 733 | marks are: \fIcircle\fR, \fIbox\fR, \fIdiamond\fR, \fItriangle\fR,
|
---|
| 734 | \fIx\fR, \fIcross\fR, \fIellipse\fR, \fIxbar\fR, \fIybar\fR,
|
---|
| 735 | \fItext\fR, \fIpostscript\fR, \fIeps\fR, \fInone\fR, and variants of
|
---|
| 736 | \fIgeneral\fR. Most of these are self-explanatory, except for the
|
---|
| 737 | last few:
|
---|
| 738 | \fIXbar\fR makes the curve into a bar graph with the bars going
|
---|
| 739 | to the x axis. \fIYbar\fR has the bars going to the y axis.
|
---|
| 740 | \fIText\fR lets the user plot text instead of a mark. The text is
|
---|
| 741 | editted as a label (see LABEL EDITING COMMANDS) immediately following
|
---|
| 742 | the \fItext\fR command. The x and y fields of the label have special
|
---|
| 743 | meanings here: They define where the label is to be printed in relation
|
---|
| 744 | to the curve points. For example, if they are both 0, the label will
|
---|
| 745 | be printed directly on the curve points. If x is 1.0 and y is -1.0, then
|
---|
| 746 | the label will be printed one unit to the right and one unit below the
|
---|
| 747 | curve points (units are units of the x and y axes).
|
---|
| 748 | Default label values are 0 for x and y, and center justification.
|
---|
[419] | 749 | \fIPostscript\fR: See the \fIpostscript\fR token below.
|
---|
| 750 | \fIEps\fR: See the \fIeps\fR token below.
|
---|
[418] | 751 | \fINone\fR means that no mark will be
|
---|
| 752 | plotted (this is useful for drawing lines).
|
---|
| 753 | There are four types of \fIgeneral\fR marks, which work using the
|
---|
[419] | 754 | \fIgmarks\fR command described below. The four marktypes are
|
---|
[418] | 755 | \fIgeneral\fR, \fIgeneral_nf\fR, \fIgeneral_bez\fR, and
|
---|
| 756 | \fIgeneral_bez_nf\fR.
|
---|
| 757 | By default, a new mark is chosen for each curve.
|
---|
| 758 | .TP
|
---|
| 759 | \fBmarksize \|[\fIfloat\fB\|] \|[\fIfloat\fB\|]\fR
|
---|
| 760 | This sets the size of the mark. The
|
---|
| 761 | first
|
---|
| 762 | \fB\|[\fIfloat\fB\|] \fR
|
---|
| 763 | is the width of the mark, and the second is the height.
|
---|
| 764 | Units are those of the x and y axes respectively, unless that axis is
|
---|
| 765 | logarithmic, in which case the units are inches. Negative marksizes
|
---|
| 766 | are allowed (e.g. a negative height will flip a \fItriangle\fR mark).
|
---|
| 767 | The default mark size can be determined using the
|
---|
| 768 | \fB\-p\fR
|
---|
| 769 | option of
|
---|
| 770 | \fBjgraph\fR
|
---|
| 771 | .TP
|
---|
| 772 | \fBmrotate \|[\fIfloat\fB\|]\fR
|
---|
| 773 | This allows the user to rotate the mark
|
---|
| 774 | \fB\|[\fIfloat\fB\|] \fR
|
---|
| 775 | degrees. Default is zero.
|
---|
| 776 | .TP
|
---|
| 777 | \fBgray \|[\fIfloat\fB\|]\fR
|
---|
| 778 | .br
|
---|
| 779 | .ns
|
---|
| 780 | .TP
|
---|
| 781 | \fBcolor \|[\fIfloat\fB \fIfloat\fB \fIfloat\fB\|]\fR
|
---|
| 782 | These specify either the grayness of the curve or its color. Values
|
---|
| 783 | for
|
---|
| 784 | \fIgray\fR
|
---|
| 785 | should be from 0 (black) to 1 (white). Values for
|
---|
[419] | 786 | \fIcolor\fR
|
---|
[418] | 787 | should also be from 0 to 1. They are RGB values, and thus define the
|
---|
| 788 | amount of red, green and blue in the curve respectively. Specifying
|
---|
| 789 | color nullifies the gray value, and vice versa. The default is
|
---|
[419] | 790 | \fIgray 0\fR
|
---|
[418] | 791 | .TP
|
---|
| 792 | \fBfill \|[\fIfloat\fB\|]\fR
|
---|
| 793 | .br
|
---|
| 794 | .ns
|
---|
| 795 | .TP
|
---|
| 796 | \fBcfill \|[\fIfloat\fB\| \|\fIfloat\fB\| \|\fIfloat\fB\|]\fR
|
---|
| 797 | This sets the filling of marks which define an area
|
---|
| 798 | to fill (e.g. \fIbox\fR, \fIcircle\fR, \fIxbar\fR).
|
---|
[419] | 799 | \fIfill\fR
|
---|
[418] | 800 | defines a gray value, and
|
---|
[419] | 801 | \fIcfill\fR
|
---|
[418] | 802 | defines a color value (see
|
---|
[419] | 803 | \fIgray\fR
|
---|
[418] | 804 | and
|
---|
[419] | 805 | \fIcolor\fR
|
---|
[418] | 806 | above for a description of the units).
|
---|
| 807 | The default is
|
---|
[419] | 808 | \fIfill 0\fR
|
---|
[418] | 809 | (black).
|
---|
| 810 | .TP
|
---|
| 811 | \fBpattern \fItoken\fB \|[\fIfloat\fB\|]\fR
|
---|
| 812 | This defines the how the mark is to be filled. \fIToken\fR
|
---|
| 813 | may be \fIsolid\fR (the default), \fIstripe\fR, or \fIestripe\fR. If
|
---|
| 814 | \fIsolid\fR, then the \fIfloat\fR is ignored, and the mark is
|
---|
| 815 | completely filled in with either the gray value defined by
|
---|
| 816 | \fIfill\fR or the color value defined by \fIcfill\fR.
|
---|
| 817 | If \fIstripe\fR, then the mark will be filled with stripes of
|
---|
| 818 | either the gray value defined by \fIfill\fR or the color defined
|
---|
| 819 | by \fIcfill\fR. The stripes will be rotated by \fIfloat\fR
|
---|
| 820 | degrees. \fIEstripe\fR differs from \fIstripe\fR only in that
|
---|
| 821 | \fIstripe\fR draws
|
---|
| 822 | stripes on a white background, while \fIestripe\fR simply draws the
|
---|
| 823 | stripes on an empty background.
|
---|
| 824 | .TP
|
---|
| 825 | \fBpoly\fR
|
---|
| 826 | .br
|
---|
| 827 | .ns
|
---|
| 828 | .TP
|
---|
| 829 | \fBnopoly\fR
|
---|
| 830 | .br
|
---|
| 831 | .ns
|
---|
| 832 | .TP
|
---|
| 833 | \fBpfill \|[\fIfloat\fB\|]\fR
|
---|
| 834 | .br
|
---|
| 835 | .ns
|
---|
| 836 | .TP
|
---|
| 837 | \fBpcfill \|[\fIfloat\fB\| \|\fIfloat\fB\| \|\fIfloat\fB\|]\fR
|
---|
| 838 | .br
|
---|
| 839 | .ns
|
---|
| 840 | .TP
|
---|
| 841 | \fBppattern \fItoken\fB \|[\fIfloat\fB\|]\fR
|
---|
[419] | 842 | \fIPoly\fR allows the user to make jgraph treat the curve as a
|
---|
[418] | 843 | closed polygon (or in the case of a bezier, a closed bezier curve).
|
---|
[419] | 844 | \fIpfill\fR, \fIpcfill\fR and \fIppattern\fR specify the
|
---|
[418] | 845 | filling of the polygon,
|
---|
[419] | 846 | and work like \fIfill\fR, \fIcfill\fR and \fIpattern\fR above.
|
---|
| 847 | The default is \fInopoly\fR.
|
---|
[418] | 848 | .TP
|
---|
| 849 | \fBgmarks \|[\|{\fIfloat\fB\|} \|{\fIfloat\fB\|}\|]*\fR
|
---|
[419] | 850 | \fIGmarks\fR
|
---|
[418] | 851 | is a way for the user to define custom marks. For each mark on
|
---|
[419] | 852 | \fI(x,y)\fR,
|
---|
[418] | 853 | Each pair of
|
---|
| 854 | \fB\|{\fIfloat_x\fB\|}, \|{\fIfloat_y\fB\|}, \fR
|
---|
| 855 | will define a point on the mark (x +
|
---|
| 856 | \fB(\fIfloat_x\fB * \fImarksize_x\fB / 2), y + (\fIfloat_y\fB * \fImarksize_y\fB / 2)).\fR
|
---|
| 857 | Thus, for example, the
|
---|
| 858 | \fIbox\fR mark could be defined as
|
---|
| 859 | .PP
|
---|
| 860 | .nf
|
---|
| 861 | gmarks -1 -1 -1 1 1 1 1 -1
|
---|
| 862 | marktype general
|
---|
| 863 | .fi
|
---|
| 864 | .PP
|
---|
| 865 | The marktypes \fIgeneral\fR, \fIgeneral_nf\fR, \fIgeneral_bez\fR,
|
---|
| 866 | and \fIgeneral_bez_nf\fR, allow the gmarks points to define
|
---|
| 867 | a closed polygon, a line, a closed bezier curve and a
|
---|
| 868 | regular bezier curve respectively (the ``nf'' stands for
|
---|
| 869 | ``non-filled'').
|
---|
| 870 | .TP
|
---|
| 871 | \fBpostscript : \|{\fIstring\fB\|}\fR
|
---|
| 872 | .br
|
---|
| 873 | .ns
|
---|
| 874 | .TP
|
---|
| 875 | \fBpostscript {\fItoken\fB\|}\fR
|
---|
| 876 | This allows the user to enter direct postscript as a mark. It
|
---|
| 877 | automatically sets the marktype to \fIpostscript\fR. If a string is
|
---|
| 878 | entered, then that string is used as the mark in the jgraph output.
|
---|
| 879 | If a token is entered, then that token must stand for a filename, which
|
---|
| 880 | will be copied to the output once for every mark. The postscript will
|
---|
| 881 | be set up so that when the string or file is put to the output, (0, 0) of
|
---|
| 882 | the the axes is in the middle of the mark, it is rotated by
|
---|
[419] | 883 | \fImrotate\fR degrees, and scaled by
|
---|
| 884 | (\fImarksize_x\fR / 2), \fImarksize_y\fR / 2).
|
---|
[418] | 885 | Thus, the \fIbox\fR mark could be defined as:
|
---|
| 886 | .PP
|
---|
| 887 | .nf
|
---|
| 888 | postscript : 1 setlinewidth -1 -1 moveto -1 1 lineto \\
|
---|
| 889 | 1 1 lineto 1 -1 lineto -1 -1 lineto stroke
|
---|
| 890 | .fi
|
---|
| 891 | .PP
|
---|
[419] | 892 | If the \fImarksize_x\fR is defined to be (0, 0), then jgraph does no
|
---|
[418] | 893 | scaling. This is useful when the postscript has strings, and the
|
---|
| 894 | user does not want the strings to be scaled.
|
---|
| 895 | .TP
|
---|
| 896 | \fBeps {\fItoken\fB\|}\fR
|
---|
| 897 | This allows the user to include an encapsulated postscript file
|
---|
| 898 | and treat it as a mark. It automatically sets the marktype to
|
---|
[419] | 899 | \fIeps\fR. The file will be scaled so that the bounding
|
---|
[418] | 900 | box is \fImarksize\fR units. Among other things, this allows the
|
---|
| 901 | user to include whole jgraph files as marks. Please see ad.jgr,
|
---|
| 902 | explained in HINTS AND EXAMPLE GRAPHS below for an example of this feature.
|
---|
| 903 | .TP
|
---|
| 904 | \fBlarrows\fR
|
---|
| 905 | .br
|
---|
| 906 | .ns
|
---|
| 907 | .TP
|
---|
| 908 | \fBrarrows\fR
|
---|
| 909 | .br
|
---|
| 910 | .ns
|
---|
| 911 | .TP
|
---|
| 912 | \fBnolarrows\fR
|
---|
| 913 | .br
|
---|
| 914 | .ns
|
---|
| 915 | .TP
|
---|
| 916 | \fBnorarrows\fR
|
---|
[419] | 917 | \fIRarrows\fR
|
---|
[418] | 918 | specifies to draw an arrow at the end of every line
|
---|
| 919 | segment in the curve.
|
---|
[419] | 920 | \fILarrows\fR
|
---|
[418] | 921 | specifies to draw an arrow at the beginning of every line segment.
|
---|
| 922 | The size of the arrows can be changed by using
|
---|
[419] | 923 | \fIasize.\fR
|
---|
[418] | 924 | The default is
|
---|
[419] | 925 | \fInolarrows\fR
|
---|
[418] | 926 | and
|
---|
[419] | 927 | \fInorarrows\fR.
|
---|
[418] | 928 | Arrows always go exactly to the point specified, with the exception
|
---|
| 929 | of when the marktype is ``circle''. In this case, the arrow goes to
|
---|
| 930 | the edge of the circle.
|
---|
| 931 | .TP
|
---|
| 932 | \fBlarrow\fR
|
---|
| 933 | .br
|
---|
| 934 | .ns
|
---|
| 935 | .TP
|
---|
| 936 | \fBrarrow\fR
|
---|
| 937 | .br
|
---|
| 938 | .ns
|
---|
| 939 | .TP
|
---|
| 940 | \fBnolarrow\fR
|
---|
| 941 | .br
|
---|
| 942 | .ns
|
---|
| 943 | .TP
|
---|
| 944 | \fBnorarrow\fR
|
---|
[419] | 945 | This is analgous to the above, except that with \fIlarrow\fR, the
|
---|
[418] | 946 | only arrow drawn is to the beginning of the first segment in the
|
---|
[419] | 947 | curve, and with \fIrarrow\fR, the only arrow drawn is to the end
|
---|
[418] | 948 | of the last segment.
|
---|
| 949 | .TP
|
---|
| 950 | \fBasize \|[\fIfloat\fB\|] \|[\fIfloat\fB\|]\fR
|
---|
| 951 | This sets the size of the arrows. The first
|
---|
| 952 | \fB\|[\fIfloat\fB\|] \fR
|
---|
| 953 | controls the arrow's width. Its units are those of the x-axis.
|
---|
| 954 | The second
|
---|
| 955 | \fB\|[\fIfloat\fB\|] \fR
|
---|
| 956 | controls the arrow's height. It is in the units of the y-axis.
|
---|
| 957 | Use the -p option of jgraph to see the default values.
|
---|
| 958 | .TP
|
---|
| 959 | \fBafill \|[\fIfloat\fB\|]\fR
|
---|
| 960 | .br
|
---|
| 961 | .ns
|
---|
| 962 | .TP
|
---|
| 963 | \fBafill \|[\fIfloat\fB\|]\fR
|
---|
| 964 | .br
|
---|
| 965 | .ns
|
---|
| 966 | .TP
|
---|
| 967 | \fBapattern \fItoken\fB \|[\fIfloat\fB\|]\fR
|
---|
| 968 | These control the grayness or color of arrowheads.
|
---|
[419] | 969 | \fIAfill\fR,
|
---|
| 970 | \fIacfill\fR
|
---|
[418] | 971 | and
|
---|
[419] | 972 | \fIapattern\fR
|
---|
[418] | 973 | work in the same way as
|
---|
[419] | 974 | \fIfill\fR,
|
---|
| 975 | \fIcfill\fR
|
---|
[418] | 976 | and
|
---|
[419] | 977 | \fIpattern\fR
|
---|
[418] | 978 | described above. The default is
|
---|
[419] | 979 | \fIafill 0\fR
|
---|
[418] | 980 | (black).
|
---|
| 981 | .TP
|
---|
| 982 | \fBlinetype \|[\fItoken\fB\|]\fR
|
---|
| 983 | This defines the type of the line connecting the points. Valid
|
---|
| 984 | entries are \fIsolid\fR, \fIdotted\fR, \fIdashed\fR, \fIlongdash\fR,
|
---|
| 985 | \fIdotdash\fR, \fIdotdotdash\fR, \fIdotdotdashdash\fR, \fIgeneral\fR, and
|
---|
| 986 | \fInone\fR. The default is \fInone\fR. \fIGeneral\fR lets the user define
|
---|
| 987 | his own linetype using the
|
---|
[419] | 988 | \fIglines\fR
|
---|
[418] | 989 | command described below. Points are connected in the
|
---|
| 990 | order in which they are inserted using the
|
---|
[419] | 991 | \fIpts\fR
|
---|
[418] | 992 | command.
|
---|
| 993 | .TP
|
---|
| 994 | \fBglines \|[\fIfloat\fB\|]*\fR
|
---|
| 995 | This lets the user specify the exact dashing of a line. The format
|
---|
| 996 | is as in postscript -- the first number is the length of the first
|
---|
| 997 | dash, the second is the length of the space after the first dash,
|
---|
[419] | 998 | etc. For example, \fIdotdash\fR could be defined as ``\fIglines\fR 5 3
|
---|
[418] | 999 | 1 3''.
|
---|
| 1000 | .TP
|
---|
| 1001 | \fBlinethickness \|[\fIfloat\fB\|]\fR
|
---|
| 1002 | This defines the line thickness (in
|
---|
| 1003 | absolute postscript units) of the connecting line. Default = 1.0.
|
---|
| 1004 | .TP
|
---|
| 1005 | \fBbezier\fR
|
---|
| 1006 | .br
|
---|
| 1007 | .ns
|
---|
| 1008 | .TP
|
---|
| 1009 | \fBnobezier\fR
|
---|
| 1010 | .br
|
---|
| 1011 | .ns
|
---|
[419] | 1012 | \fIBezier\fR
|
---|
[418] | 1013 | specifies to use the curve's points to define successive bezier curves.
|
---|
| 1014 | The first point is the starting point. The next two are control points
|
---|
| 1015 | for the bezier curve and the next point is the ending point. If there
|
---|
| 1016 | is another bezier, this ending point is also the beginning point of the
|
---|
| 1017 | next curve. The next two points are again control points, and the next
|
---|
| 1018 | point is the ending point. Thus, a bezier must have a total of (3n + 1)
|
---|
| 1019 | points, where n is at least 1.
|
---|
| 1020 | In bezier curves, marks and arrows only apply to every third point.
|
---|
[419] | 1021 | \fINobezier\fR is the default.
|
---|
[418] | 1022 |
|
---|
| 1023 | .TP
|
---|
| 1024 | \fBclip\fR
|
---|
| 1025 | This specifies that this curve will be clipped -- that is,
|
---|
| 1026 | no points outside of the of axes will be plotted.
|
---|
| 1027 | .TP
|
---|
| 1028 | \fBnoclip\fR
|
---|
| 1029 | This turns off clipping. If clipping was specified for the
|
---|
| 1030 | entire graph, then
|
---|
[419] | 1031 | \fInoclip\fR
|
---|
[418] | 1032 | has no effect.
|
---|
[419] | 1033 | \fINoclip\fR
|
---|
[418] | 1034 | is the default.
|
---|
| 1035 | .TP
|
---|
| 1036 | \fBlabel\fR
|
---|
| 1037 | This edits the label of this curve for the purposed of
|
---|
| 1038 | drawing a legend. (see LABEL EDITING COMMANDS and LEGEND EDITING
|
---|
| 1039 | COMMANDS). Unless the legend entry is
|
---|
[419] | 1040 | \fIcustom\fR,
|
---|
[418] | 1041 | setting any label attribute except for the text itself
|
---|
| 1042 | will have no effect.
|
---|
| 1043 | .PD
|
---|
| 1044 | .RE
|
---|
| 1045 | .LP
|
---|
| 1046 | .TP
|
---|
| 1047 | .B LABEL EDITING COMMANDS
|
---|
| 1048 | The following commands are used for editing
|
---|
| 1049 | labels. Unless stated otherwise, the defaults are written with each
|
---|
| 1050 | command. Label editing terminates when one of these tokens is not
|
---|
| 1051 | given.
|
---|
| 1052 | .RS
|
---|
| 1053 | .TP
|
---|
| 1054 | \fB: \|{\fIstring\fB\|}\fR
|
---|
| 1055 | This sets the string of the label. If no string is
|
---|
| 1056 | set, the label will not be printed.
|
---|
| 1057 | .TP
|
---|
| 1058 | \fBx \|[\fIfloat\fB\|]\fR
|
---|
| 1059 | .br
|
---|
| 1060 | .ns
|
---|
| 1061 | .TP
|
---|
| 1062 | \fBy \|[\fIfloat\fB\|]\fR
|
---|
| 1063 | This sets the x or y coordinate of the
|
---|
| 1064 | label. Units are the units of the x and y axes respectively.
|
---|
| 1065 | .TP
|
---|
| 1066 | \fBfont \|[\fItoken\fB\|]\fR
|
---|
| 1067 | This sets the font. Default is usually ``Times-Roman''.
|
---|
| 1068 | .TP
|
---|
| 1069 | \fBfontsize \|[\fIfloat\fB\|]\fR
|
---|
| 1070 | This sets the fontsize in points. Default is usually 9.
|
---|
| 1071 | .TP
|
---|
| 1072 | \fBlinesep \|[\fIfloat\fB\|]\fR
|
---|
| 1073 | This sets the distance between lines in multilined labels. Units are points.
|
---|
| 1074 | The default is the fontsize.
|
---|
| 1075 | .TP
|
---|
| 1076 | \fBhjl\fR
|
---|
| 1077 | .br
|
---|
| 1078 | .ns
|
---|
| 1079 | .TP
|
---|
| 1080 | \fBhjc\fR
|
---|
| 1081 | .br
|
---|
| 1082 | .ns
|
---|
| 1083 | .TP
|
---|
| 1084 | \fBhjr\fR
|
---|
| 1085 | These set the horizontal justification to left,
|
---|
| 1086 | center, and right, respectively. Default =
|
---|
[419] | 1087 | \fIhjc.\fR
|
---|
[418] | 1088 | .TP
|
---|
| 1089 | \fBvjt\fR
|
---|
| 1090 | .br
|
---|
| 1091 | .ns
|
---|
| 1092 | .TP
|
---|
| 1093 | \fBvjc\fR
|
---|
| 1094 | .br
|
---|
| 1095 | .ns
|
---|
| 1096 | .TP
|
---|
| 1097 | \fBvjb\fR
|
---|
| 1098 | These set the vertical justification to top
|
---|
| 1099 | center, and bottom, respectively. Default =
|
---|
[419] | 1100 | \fIvjb.\fR
|
---|
[418] | 1101 | .TP
|
---|
| 1102 | \fBrotate \|[\fIfloat\fB\|]\fR
|
---|
| 1103 | This will rotate the string
|
---|
| 1104 | \fB\|[\fIfloat\fB\|] \fR
|
---|
| 1105 | degrees. The point of rotation is defined by the
|
---|
[419] | 1106 | \fIvj\fR
|
---|
[418] | 1107 | and
|
---|
[419] | 1108 | \fIhj\fR
|
---|
[418] | 1109 | commands. For example, to rotate 90 degrees about the center of a string,
|
---|
| 1110 | one would use
|
---|
[419] | 1111 | \fIvjc hjc rotate 90.\fR
|
---|
[418] | 1112 | .TP
|
---|
| 1113 | \fBlgray \|[\fIfloat\fB\|]\fR
|
---|
| 1114 | .br
|
---|
| 1115 | .ns
|
---|
| 1116 | .TP
|
---|
| 1117 | \fBlcolor \|[\fIfloat\fB \fIfloat\fB \fIfloat\fB\|]\fR
|
---|
| 1118 | These control the color or the grayness of the label. It works just as
|
---|
[419] | 1119 | \fIgray\fR
|
---|
[418] | 1120 | and
|
---|
[419] | 1121 | \fIcolor\fR
|
---|
[418] | 1122 | do for curves and axes. The default depends on the context. For example,
|
---|
| 1123 | for strings and the title, the default is black. For axis labels and hash
|
---|
| 1124 | labels, the default is the color of the axis. For text as marks, the
|
---|
| 1125 | default is the curve color.
|
---|
| 1126 | .PD
|
---|
| 1127 | .RE
|
---|
| 1128 | .LP
|
---|
| 1129 | .TP
|
---|
| 1130 | .B LEGEND EDITING COMMANDS
|
---|
| 1131 | These commands allow the user to alter the
|
---|
| 1132 | appearance of the legend. Legends are printed out for each curve
|
---|
| 1133 | having a non-null label. The legend entries are printed out
|
---|
| 1134 | in the order of ascending curve numbers.
|
---|
| 1135 | Legend editing terminates when a graph command or top level command
|
---|
| 1136 | is issued.
|
---|
| 1137 |
|
---|
| 1138 | In earlier versions of jgraph (before version 8.0), the
|
---|
| 1139 | characteristics of each legend entry were set in the label portion
|
---|
| 1140 | of the entry's curve. Thus, for example, if you wanted each entry's
|
---|
| 1141 | fontsize to be 18, you had to set it in each entry's curve. Now,
|
---|
| 1142 | default legend entry characteristics are set using the
|
---|
[419] | 1143 | \fIdefaults\fR
|
---|
[418] | 1144 | keyword. Unless a
|
---|
[419] | 1145 | \fIcustom\fR
|
---|
[418] | 1146 | legend is specified, these default values override any values set in
|
---|
| 1147 | the entry's curve. Thus, to get all entries to have a fontsize of
|
---|
| 1148 | 18, it must be set using
|
---|
[419] | 1149 | \fIdefaults fontsize 18\fR.
|
---|
[418] | 1150 |
|
---|
| 1151 | If legend editing seems cryptic, try the following example:
|
---|
| 1152 | .PP
|
---|
| 1153 | .nf
|
---|
| 1154 | newgraph
|
---|
| 1155 | newcurve marktype box linetype solid label : Solid box
|
---|
| 1156 | pts 0 0 1 1 2 1 3 1
|
---|
| 1157 | newcurve marktype circle linetype dotted label : Dotted circle
|
---|
| 1158 | pts 0 1 1 2 2 2 3 2
|
---|
| 1159 | newcurve marktype x linetype dashed label : Dashed x
|
---|
| 1160 | pts 0 2 1 3 2 3 3 3
|
---|
| 1161 | legend defaults
|
---|
| 1162 | font Times-Italic fontsize 14 x 1.5 y 3.5 hjc vjb
|
---|
| 1163 | .fi
|
---|
| 1164 | .PP
|
---|
| 1165 | The legend of this graph should be centered over the top of the graph,
|
---|
| 1166 | and all legend entries should be 14pt Times-Italic.
|
---|
| 1167 | .RS
|
---|
| 1168 | .TP
|
---|
| 1169 | \fBon\fR
|
---|
| 1170 | .br
|
---|
| 1171 | .ns
|
---|
| 1172 | .TP
|
---|
[419] | 1173 | \fBoff\fR
|
---|
[418] | 1174 | These turn printing of the legend on and off. The default is on
|
---|
| 1175 | (but, of course, if there are no curve labels defined, there will
|
---|
| 1176 | be no legend).
|
---|
| 1177 | .TP
|
---|
| 1178 | \fBlinelength \|[\fIfloat\fB\|]\fR
|
---|
| 1179 | This sets the length of the line printed in
|
---|
| 1180 | front of legend entries corresponding to curves which have lines.
|
---|
| 1181 | Units are those of the x axis, unless the x axis is logarithmic, in
|
---|
| 1182 | which case the units are inches. The default may be gotten using the
|
---|
| 1183 | \fB\-p\fR
|
---|
| 1184 | option.
|
---|
| 1185 | .TP
|
---|
| 1186 | \fBlinebreak \|[\fIfloat\fB\|]\fR
|
---|
| 1187 | This sets the vertical distance between
|
---|
| 1188 | individual legend entries. Units are those of the y axis, unless the
|
---|
| 1189 | y axis is logarithmic, in which case the units are inches. The
|
---|
| 1190 | default may be gotten using the
|
---|
| 1191 | \fB\-p\fR
|
---|
| 1192 | option.
|
---|
| 1193 | .TP
|
---|
| 1194 | \fBmidspace \|[\fIfloat\fB\|]\fR
|
---|
| 1195 | This sets one of two things. If any of the
|
---|
| 1196 | legend entries have lines in them, then this sets the distance
|
---|
| 1197 | between the end of the line and the legend entry text. Otherwise,
|
---|
| 1198 | this sets the distance between center of the mark and the legend
|
---|
| 1199 | entry text. Units are those of the x axis, unless the x axis is
|
---|
| 1200 | logarithmic, in which case the units are inches. The default may be
|
---|
| 1201 | gotten using the
|
---|
| 1202 | \fB\-p\fR
|
---|
| 1203 | option.
|
---|
| 1204 | .TP
|
---|
| 1205 | \fBdefaults\fR
|
---|
| 1206 | This lets the user change the attributes of all legend entries.
|
---|
| 1207 | The defaults are editted as a label (see LABEL EDITING COMMANDS).
|
---|
| 1208 | A few of the label fields have special meanings: The \fI:\fR field
|
---|
| 1209 | is ignored. The \fIx\fR and \fIy\fR fields define where the label
|
---|
| 1210 | will be printed. The \fIhj\fR and \fIvj\fR fields define the justification
|
---|
| 1211 | of the legend about the \fIx\fR and \fIy\fR point. Thus, if \fIx\fR is 10
|
---|
| 1212 | and \fIy\fR is 15, and \fIhjc vjb\fR are specified, then the legend will
|
---|
| 1213 | be centered horizontally about x=10, and the bottom of the legend
|
---|
| 1214 | will be placed on y=15. This is analagous to label plotting.
|
---|
| 1215 | The \fIrotate\fR field is also analagous to label plotting.
|
---|
| 1216 |
|
---|
| 1217 | Defaults are as follows. \fIRotate\fR is 0. \fIfont\fR is ``Times-Roman''
|
---|
| 1218 | and \fIfontsize\fR is 9. The color is black. Default justification is
|
---|
| 1219 | \fIhjl\fR and \fIvjc\fR. The default \fIx\fR and \fIy\fR values are set
|
---|
| 1220 | according to the \fIhj\fR and \fIvj\fR fields. See the
|
---|
| 1221 | \fB\-p\fR
|
---|
| 1222 | option.
|
---|
| 1223 | .TP
|
---|
| 1224 | \fBleft\fR
|
---|
| 1225 | .br
|
---|
| 1226 | .ns
|
---|
| 1227 | .TP
|
---|
[419] | 1228 | \fIright\fR
|
---|
[418] | 1229 | These will automatically produce a legend to the left or
|
---|
| 1230 | the right of the graph.
|
---|
[419] | 1231 | \fILeft\fR
|
---|
[418] | 1232 | is equivalent to
|
---|
[419] | 1233 | \fIdefaults hjr vjc\fR
|
---|
[418] | 1234 | and
|
---|
[419] | 1235 | \fIright\fR
|
---|
[418] | 1236 | is equivalent to
|
---|
[419] | 1237 | \fIdefaults hjl vjc\fR.
|
---|
[418] | 1238 | .TP
|
---|
| 1239 | \fBtop\fR
|
---|
| 1240 | .br
|
---|
| 1241 | .ns
|
---|
| 1242 | .TP
|
---|
| 1243 | \fBbottom\fR
|
---|
| 1244 | These will automatically produce a legend on the top or
|
---|
| 1245 | the bottom of the graph.
|
---|
[419] | 1246 | \fITop\fR
|
---|
[418] | 1247 | is equivalent to
|
---|
[419] | 1248 | \fIdefaults hjl vjb\fR
|
---|
[418] | 1249 | and
|
---|
[419] | 1250 | \fIbottom\fR
|
---|
[418] | 1251 | is equivalent to
|
---|
[419] | 1252 | \fIdefaults hjl vjt\fR.
|
---|
[418] | 1253 | .TP
|
---|
| 1254 | \fBx \|[\fIfloat\fB\|]\fR
|
---|
| 1255 | .br
|
---|
| 1256 | .ns
|
---|
| 1257 | .TP
|
---|
| 1258 | \fBy \|[\fIfloat\fB\|]\fR
|
---|
| 1259 | These are included mainly for backward compatability to earlier
|
---|
| 1260 | versions of jgraph. Setting
|
---|
[419] | 1261 | \fIx\fR
|
---|
[418] | 1262 | and
|
---|
[419] | 1263 | \fIy\fR
|
---|
[418] | 1264 | is equivalent to ``defaults x
|
---|
[419] | 1265 | \fIfloat\fR
|
---|
[418] | 1266 | y
|
---|
[419] | 1267 | \fIfloat\fR
|
---|
[418] | 1268 | hjl vjt''
|
---|
| 1269 | .TP
|
---|
| 1270 | \fBcustom\fR
|
---|
| 1271 | This lets the user control where each individual legend
|
---|
| 1272 | entry goes. The values of the
|
---|
[419] | 1273 | \fIdefaults\fR
|
---|
[418] | 1274 | fields are ignored, and instead, the values of the curve's
|
---|
| 1275 | labels are used. All justifications have defined results, except
|
---|
| 1276 | for
|
---|
[419] | 1277 | \fIhjc\fR.
|
---|
[418] | 1278 | Similarly, rotation other than 0 is likely to produce bad effects.
|
---|
| 1279 | .PD
|
---|
| 1280 | .RE
|
---|
| 1281 | .LP
|
---|
| 1282 | .TP
|
---|
| 1283 | .B ADVANCED AXIS EDITING
|
---|
| 1284 | These are more advanced commands for
|
---|
| 1285 | editing an axis. This includes drawing explicit hash marks and
|
---|
| 1286 | labels, moving the hash marks, axes, and labels, not drawing the hash
|
---|
| 1287 | marks, labels, axes, etc.
|
---|
| 1288 | .RS
|
---|
| 1289 | .TP
|
---|
| 1290 | \fBgray \|[\fIfloat\fB\|]\fR
|
---|
| 1291 | .br
|
---|
| 1292 | .ns
|
---|
| 1293 | .TP
|
---|
| 1294 | \fBcolor \|[\fIfloat\fB \fIfloat\fB \fIfloat\fB\|]\fR
|
---|
| 1295 | These specify either the grayness of the axis or its color. Values
|
---|
| 1296 | for
|
---|
[419] | 1297 | \fIgray\fR
|
---|
[418] | 1298 | should be from 0 (black) to 1 (white). Values for
|
---|
[419] | 1299 | \fIcolor\fR
|
---|
[418] | 1300 | should also be from 0 to 1. They are RGB values, and thus define the
|
---|
| 1301 | amount of red, green and blue in the axis respectively. Specifying
|
---|
| 1302 | color nullifies the gray value, and vice versa. The default is
|
---|
[419] | 1303 | \fIgray 0\fR.
|
---|
[418] | 1304 | These values affect every part of the axis: the label,
|
---|
| 1305 | the hash marks and labels, the axis line and the grid lines.
|
---|
| 1306 | .TP
|
---|
| 1307 | \fBgrid_gray \|[\fIfloat\fB\|]\fR
|
---|
| 1308 | .br
|
---|
| 1309 | .ns
|
---|
| 1310 | .TP
|
---|
| 1311 | \fBgrid_color \|[\fIfloat\fB \fIfloat\fB \fIfloat\fB\|]\fR
|
---|
| 1312 | .br
|
---|
| 1313 | .ns
|
---|
| 1314 | .TP
|
---|
| 1315 | \fBmgrid_gray \|[\fIfloat\fB\|]\fR
|
---|
| 1316 | .br
|
---|
| 1317 | .ns
|
---|
| 1318 | .TP
|
---|
| 1319 | \fBmgrid_color \|[\fIfloat\fB \fIfloat\fB \fIfloat\fB\|]\fR
|
---|
| 1320 | These allow the user to define the grayness or color of the
|
---|
| 1321 | gridlines and the mgridlines to be different from those of the
|
---|
| 1322 | axis lines.
|
---|
| 1323 | The default
|
---|
[419] | 1324 | \fIgrid_gray\fR
|
---|
[418] | 1325 | and
|
---|
[419] | 1326 | \fIgrid_color\fR
|
---|
[418] | 1327 | is the same as the axis's
|
---|
[419] | 1328 | \fIgray\fR
|
---|
[418] | 1329 | and
|
---|
[419] | 1330 | \fIcolor\fR.
|
---|
[418] | 1331 | The default
|
---|
[419] | 1332 | \fImgrid_gray\fR
|
---|
[418] | 1333 | and
|
---|
[419] | 1334 | \fImgrid_color\fR
|
---|
[418] | 1335 | is the same as
|
---|
[419] | 1336 | \fIgrid_gray\fR
|
---|
[418] | 1337 | and
|
---|
[419] | 1338 | \fIgrid_color\fR.
|
---|
[418] | 1339 | .TP
|
---|
| 1340 | \fBhash_at \|[\fIfloat\fB\|]\fR
|
---|
| 1341 | Draw a hash mark at this point. No label is
|
---|
| 1342 | made for this hash mark.
|
---|
| 1343 | .TP
|
---|
| 1344 | \fBmhash_at \|[\fIfloat\fB\|]\fR
|
---|
| 1345 | Draw a minor hash mark at this point.
|
---|
| 1346 | .TP
|
---|
| 1347 | \fBhash_label\fR
|
---|
| 1348 | Edit a hash label (see HASH LABEL EDITING COMMANDS).
|
---|
| 1349 | .TP
|
---|
| 1350 | \fBhash_labels\fR
|
---|
| 1351 | Edit the default characteristics of the hash labels.
|
---|
| 1352 | This is so that the user can change the fontsize, justification,
|
---|
| 1353 | etc., of the hash labels. Editing
|
---|
[419] | 1354 | \fIhash_labels \fR
|
---|
[418] | 1355 | is just like editing
|
---|
| 1356 | normal labels (see LABEL EDITING COMMANDS), except that the
|
---|
[419] | 1357 | \fI:\fR,
|
---|
| 1358 | \fIx\fR,
|
---|
[418] | 1359 | and
|
---|
[419] | 1360 | \fIy\fR
|
---|
[418] | 1361 | values are all ignored. Defaults for hash labels are as
|
---|
| 1362 | follows: Fontsize=9, Font=``Times-Roman'', Justification is dependent
|
---|
| 1363 | on whether it is the x or y axis and whether
|
---|
[419] | 1364 | \fIhash_scale\fR
|
---|
[418] | 1365 | is positive or negative.
|
---|
| 1366 | .TP
|
---|
| 1367 | \fBhash_scale \|[\fIfloat\fB\|]\fR
|
---|
| 1368 | This is to change the size and orientation of
|
---|
| 1369 | the hash marks. Default = -1.0. Changing this to -2.0 will double
|
---|
| 1370 | the length of the hash marks. Changing this to +1.0 will make the
|
---|
| 1371 | hash marks come above or to the right of the axis.
|
---|
| 1372 | .TP
|
---|
| 1373 | \fBdraw_hash_marks_at \|[\fIfloat\fB\|]\fR
|
---|
| 1374 | By default, the hash marks are drawn
|
---|
| 1375 | either above or below the axis. This command changes where they are
|
---|
| 1376 | drawn.
|
---|
[419] | 1377 | \fIHash_scale\fR
|
---|
[418] | 1378 | still determines whether they are drawn above or
|
---|
| 1379 | below this point, and their size.
|
---|
| 1380 | .TP
|
---|
| 1381 | \fBdraw_hash_labels_at \|[\fIfloat\fB\|]\fR
|
---|
| 1382 | By default, the hash labels are
|
---|
| 1383 | drawn either above or below the hash marks (again, this is dependent
|
---|
| 1384 | on
|
---|
[419] | 1385 | \fIhash_scale\fR).
|
---|
[418] | 1386 | This command changes where they are drawn.
|
---|
| 1387 | Justification and fontsize, etc., can be changed with the
|
---|
[419] | 1388 | \fIhash_labels\fR
|
---|
[418] | 1389 | command.
|
---|
| 1390 | .TP
|
---|
| 1391 | \fBauto_hash_marks\fR
|
---|
| 1392 | .br
|
---|
| 1393 | .ns
|
---|
| 1394 | .TP
|
---|
| 1395 | \fBno_auto_hash_marks\fR
|
---|
| 1396 | This toggles whether or
|
---|
| 1397 | not
|
---|
| 1398 | \fBjgraph \fR
|
---|
| 1399 | will automatically create hash marks according to
|
---|
[419] | 1400 | \fIhash\fR,
|
---|
| 1401 | \fImhash\fR
|
---|
[418] | 1402 | and
|
---|
[419] | 1403 | \fIshash\fR
|
---|
[418] | 1404 | (or
|
---|
[419] | 1405 | \fIlog_base\fR
|
---|
[418] | 1406 | and
|
---|
[419] | 1407 | \fImhash\fR
|
---|
[418] | 1408 | for logarithmic axes).
|
---|
| 1409 | The default is
|
---|
[419] | 1410 | \fIauto_hash_marks\fR.
|
---|
[418] | 1411 | .TP
|
---|
| 1412 | \fBauto_hash_labels\fR
|
---|
| 1413 | .br
|
---|
| 1414 | .ns
|
---|
| 1415 | .TP
|
---|
| 1416 | \fBno_auto_hash_labels\fR
|
---|
| 1417 | This toggles whether or
|
---|
| 1418 | not
|
---|
| 1419 | \fBjgraph \fR
|
---|
| 1420 | will automatically create hash labels for the
|
---|
[419] | 1421 | \fIauto_hash_marks\fR.
|
---|
[418] | 1422 | Default =
|
---|
[419] | 1423 | \fIauto_hash_labels\fR.
|
---|
[418] | 1424 | .TP
|
---|
| 1425 | \fBdraw_axis\fR
|
---|
| 1426 | .br
|
---|
| 1427 | .ns
|
---|
| 1428 | .TP
|
---|
| 1429 | \fBno_draw_axis\fR
|
---|
| 1430 | This toggles whether or not the axis
|
---|
| 1431 | line is drawn. Default =
|
---|
[419] | 1432 | \fIdraw_axis\fR.
|
---|
[418] | 1433 | .TP
|
---|
| 1434 | \fBdraw_axis_label\fR
|
---|
| 1435 | .br
|
---|
| 1436 | .ns
|
---|
| 1437 | .TP
|
---|
| 1438 | \fBno_draw_axis_label\fR
|
---|
| 1439 | This toggles whether or
|
---|
| 1440 | not the axis label (as editted by the
|
---|
[419] | 1441 | \fIlabel\fR
|
---|
[418] | 1442 | command) is drawn.
|
---|
| 1443 | Default =
|
---|
[419] | 1444 | \fIdraw_axis_label\fR.
|
---|
[418] | 1445 | .TP
|
---|
| 1446 | \fBdraw_hash_marks\fR
|
---|
| 1447 | .br
|
---|
| 1448 | .ns
|
---|
| 1449 | .TP
|
---|
| 1450 | \fBno_draw_hash_marks\fR
|
---|
| 1451 | This toggles whether or
|
---|
| 1452 | not the hash marks (both automatic and those created with
|
---|
[419] | 1453 | \fIhash_at\fR
|
---|
[418] | 1454 | and
|
---|
[419] | 1455 | \fImhash_at\fR)
|
---|
[418] | 1456 | are drawn. Default =
|
---|
[419] | 1457 | \fIdraw_hash_marks\fR.
|
---|
[418] | 1458 | .TP
|
---|
| 1459 | \fBdraw_hash_labels\fR
|
---|
| 1460 | .br
|
---|
| 1461 | .ns
|
---|
| 1462 | .TP
|
---|
| 1463 | \fBno_draw_hash_labels\fR
|
---|
| 1464 | This toggles whether or
|
---|
| 1465 | not the hash labels are drawn. Default =
|
---|
[419] | 1466 | \fIdraw_hash_labels\fR.
|
---|
[418] | 1467 | .PD
|
---|
| 1468 | .RE
|
---|
| 1469 | .LP
|
---|
| 1470 | .TP
|
---|
| 1471 | .B HASH LABEL EDITING COMMANDS
|
---|
| 1472 | Hash labels are simply strings printed
|
---|
| 1473 | along the appropriate axis. As a default, they are printed at the
|
---|
| 1474 | place denoted by the most recent
|
---|
[419] | 1475 | \fIhash_at\fR
|
---|
[418] | 1476 | or
|
---|
[419] | 1477 | \fImhash_at\fR
|
---|
[418] | 1478 | for this
|
---|
| 1479 | axis, but this can be changed by the
|
---|
[419] | 1480 | \fIat\fR
|
---|
[418] | 1481 | command. If there has been
|
---|
| 1482 | no
|
---|
[419] | 1483 | \fIhash_at\fR
|
---|
[418] | 1484 | or
|
---|
[419] | 1485 | \fImhash_at\fR,
|
---|
[418] | 1486 | then an
|
---|
[419] | 1487 | \fIat\fR
|
---|
[418] | 1488 | command must be given, or
|
---|
| 1489 | there will be an error. Hash editing terminates when either one of
|
---|
| 1490 | these commands is not given.
|
---|
| 1491 | .RS
|
---|
| 1492 | .TP
|
---|
| 1493 | \fB: \|{\fIstring\fB\|}\fR
|
---|
| 1494 | This sets the string of the hash label (see
|
---|
| 1495 | \fBStrings\fR
|
---|
| 1496 | above under THE DESCRIPTION LANGUAGE).
|
---|
| 1497 | .TP
|
---|
| 1498 | \fBat \|[\fIfloat\fB\|]\fR
|
---|
| 1499 | This sets the location of the hash label along the
|
---|
| 1500 | current axis.
|
---|
| 1501 | .PD
|
---|
| 1502 | .RE
|
---|
| 1503 | .LP
|
---|
| 1504 | .SH FUNCTION PLOTTING AND OTHER NON-INHERENT FEATURES
|
---|
| 1505 | Although
|
---|
| 1506 | \fBjgraph \fR
|
---|
| 1507 | doesn't have any built-in functions for interpolation
|
---|
| 1508 | or function plotting, both can be effected in
|
---|
| 1509 | \fBjgraph \fR
|
---|
| 1510 | with a little outside help:
|
---|
| 1511 | .TP
|
---|
| 1512 | \fBFunction plotting\fR
|
---|
| 1513 | With the
|
---|
[419] | 1514 | \fIinclude\fR
|
---|
[418] | 1515 | and
|
---|
[419] | 1516 | \fIshell\fR
|
---|
[418] | 1517 | statement, it's easy to
|
---|
| 1518 | create a file of points of a function with a c or awk program, and
|
---|
| 1519 | include it into a graph. See the section HINTS AND EXAMPLE GRAPHS
|
---|
| 1520 | for an example of a sin graph produced in this manner.
|
---|
| 1521 | .TP
|
---|
| 1522 | \fBPoint interpolation\fR
|
---|
| 1523 | Point interpolation is essentially the same as
|
---|
| 1524 | function plotting, and therefore is left out of
|
---|
| 1525 | \fBjgraph. \fR
|
---|
| 1526 | The UNIX spline(1) routine is a simple way to get interpolation
|
---|
| 1527 | between points. See bailey.jgr described below.
|
---|
| 1528 | Maybe in a future release.
|
---|
| 1529 | .SH HINTS AND EXAMPLE GRAPHS
|
---|
| 1530 | \fBJgraph \fR
|
---|
| 1531 | should be able to draw any kind of scatter/line/bar graph that
|
---|
| 1532 | a user desires. To embellish the graph with extra text, axes, lines,
|
---|
| 1533 | etc., it is helpful to use
|
---|
[419] | 1534 | \fIcopygraph.\fR
|
---|
[418] | 1535 | The following example graphs show a few examples of different features
|
---|
[419] | 1536 | of jgraph. They should be in the directory /usr/doc/examples/jgraph.
|
---|
[418] | 1537 | .sp
|
---|
| 1538 | - acc.jgr is a simple bar graph. Acc.tex is also included to show
|
---|
| 1539 | how one can include the output of jgraph in a LaTeX file. To get
|
---|
| 1540 | this to work, you might have to substitute the entire pathname of
|
---|
| 1541 | the file acc.jps in the acc.tex file.
|
---|
| 1542 | .sp
|
---|
| 1543 | - g8.jgr is a simple graph with some plotted text.
|
---|
| 1544 | - g8col.jgr shows how to produce a color background -- it is
|
---|
| 1545 | the same as g8.jgr only all on a yellow background.
|
---|
| 1546 | - ebars.jgr is a simple graph with error bars.
|
---|
| 1547 | - sin.jgr shows how a sin function can be plotted using a simple c
|
---|
| 1548 | program to produce the sin wave. Moreover, this file shows a use of
|
---|
[419] | 1549 | \fIcopygraph\fR
|
---|
[418] | 1550 | to plot an extra x and y axis at the 0 point.
|
---|
| 1551 | .sp
|
---|
| 1552 | - sin1.jgr is a further extension of sin.jgr only with one x and y
|
---|
| 1553 | axis at 0, but with the axis labels at the left and the bottom of the
|
---|
| 1554 | graph.
|
---|
| 1555 | .sp
|
---|
| 1556 | - sin2.jgr is a different sin wave with a logarithmic x axis.
|
---|
| 1557 | .sp
|
---|
| 1558 | - sin3.jgr shows how a bizarre effect can be gotten by sorting the
|
---|
| 1559 | points in a different manner.
|
---|
| 1560 | .sp
|
---|
| 1561 | - bailey.jgr shows how to use the UNIX spline(1) routine to get
|
---|
| 1562 | interpolation between points.
|
---|
| 1563 | .sp
|
---|
| 1564 | - gpaper.jgr shows how you can get jgraph to easily produce graph paper.
|
---|
| 1565 | .sp
|
---|
| 1566 | - g9n10.jgr contains two graphs with complicated legends. It
|
---|
| 1567 | contains a description of how the legend was created.
|
---|
| 1568 | .sp
|
---|
| 1569 | - ex1.jgr and ex2.jgr are two examples which were figures 1 and
|
---|
| 1570 | two in an extended abstract for a paper about jgraph.
|
---|
| 1571 | .sp
|
---|
| 1572 | - mab2.jgr is a graph created by Matt Blaze which shows how a
|
---|
| 1573 | complicated output graph can be quite concisely and simply stated.
|
---|
| 1574 | In this graph, the x axis is a time line. It shows usage of the
|
---|
[419] | 1575 | \fIhash_label\fR
|
---|
[418] | 1576 | and
|
---|
[419] | 1577 | \fIhash_labels\fR
|
---|
[418] | 1578 | commands, as well as displaying how jgraph lets you extract data from
|
---|
| 1579 | output files with awk.
|
---|
| 1580 | .sp
|
---|
| 1581 | - nr.jgr is an example of a rather complicated bar graph with
|
---|
| 1582 | stripe-filled bars. It was created by Norman Ramsey.
|
---|
| 1583 | .sp
|
---|
| 1584 | - hypercube.jgr shows an interesting use of jgraph
|
---|
| 1585 | for picture-drawing.
|
---|
| 1586 | .sp
|
---|
| 1587 | - ad.jgr is an example which shows how one can include jgraph
|
---|
| 1588 | output as jgraph input. The file uses the \fIeps\fR token to
|
---|
| 1589 | include cube.jgr, a jgraph drawing of an Intel hypercube, and disk.jgr,
|
---|
| 1590 | a jgraph drawing of a disk, in a picture.
|
---|
| 1591 | .sp
|
---|
| 1592 | - alb.jgr is another use of jgraph for picture drawing. This file
|
---|
| 1593 | was created by an awk script which Adam Buchsbaum wrote to draw
|
---|
| 1594 | trees and graphs.
|
---|
| 1595 | .sp
|
---|
| 1596 | - wortman.jgr is a neat graph of processor utilization written
|
---|
| 1597 | by Dave Wortman for SIGPLAN '92. It was created by an awk script,
|
---|
| 1598 | which processed the data and emitted the jgraph.
|
---|
| 1599 | .sp
|
---|
| 1600 | To view these graphs, use jgraph -P, and view the resulting output
|
---|
| 1601 | file with
|
---|
[419] | 1602 | \fIgs\fR,
|
---|
[418] | 1603 | or a similar postscript viewer.
|
---|
| 1604 | To make a hard copy of these graphs, pipe the output of jgraph
|
---|
| 1605 | -P directly to
|
---|
[419] | 1606 | \fIlpr\fR.
|
---|
[418] | 1607 |
|
---|
| 1608 | .SH USING JGRAPH TO DRAW PICTURES
|
---|
| 1609 | As hypercube.jgr and alb.jgr show, jgraph can be used as a postscript
|
---|
| 1610 | preprocessor to make drawings. There are two advantages
|
---|
| 1611 | using jgraph to draw pictures instead of using standard drawing tools like
|
---|
[419] | 1612 | \fIxfig\fR,
|
---|
| 1613 | \fIfigtool\fR,
|
---|
[418] | 1614 | or
|
---|
[419] | 1615 | \fIidraw\fR.
|
---|
[418] | 1616 | The first is that with jgraph, you know exactly where strings, lines,
|
---|
| 1617 | boxes, etc, will end up, because you plot them explicitly. The second
|
---|
| 1618 | advantage is that for iterative drawings, with lots of patters, you
|
---|
| 1619 | can combine jgraph with awk or c or any other programming language
|
---|
| 1620 | to get complex output in a simple way. Most what-you-see-is-what-you-get
|
---|
| 1621 | (WYSIWYG) drawing tools cannot do this.
|
---|
| 1622 |
|
---|
| 1623 | The major disadvantage of using jgraph to draw pictures is that jgraph
|
---|
| 1624 | is not WYSIWYG. You have to set up axes and plot points, lines and
|
---|
| 1625 | strings. It's all a matter of taste.
|
---|
| 1626 |
|
---|
| 1627 | If you'd like to see some more complex pictures drawn with jgraph, as
|
---|
| 1628 | well as some hints to make picture-drawing easier, send me email
|
---|
[419] | 1629 | (plank@cs.utk.edu).
|
---|
[418] | 1630 |
|
---|
[419] | 1631 | .SH SUPPORT FOR OTHER FONT ENCODINGS
|
---|
| 1632 | If you want to use non-english characters to set labels or titles,
|
---|
| 1633 | set enviroment variable JGRAPH_ENCODING with the font encoding that
|
---|
| 1634 | you need. This value will be passed directly to the postscript.
|
---|
| 1635 |
|
---|
| 1636 | Ex. to use ISO-8859-1 characters, try:
|
---|
| 1637 | .nf
|
---|
| 1638 |
|
---|
| 1639 | export JGRAPH_ENCODING=ISOLatin1Encoding
|
---|
| 1640 |
|
---|
| 1641 | .fi
|
---|
| 1642 | Note: that only works with default fonts. if you use 'font' in stdin
|
---|
| 1643 | to specify another font, it won't work.
|
---|
| 1644 |
|
---|
| 1645 | You also have the possibility to expand the bounding box if jgraph
|
---|
| 1646 | cuts some acute, tilde or special chars near the border; try:
|
---|
| 1647 | .nf
|
---|
| 1648 |
|
---|
| 1649 | export JGRAPH_BORDER=5
|
---|
| 1650 |
|
---|
| 1651 | .fi
|
---|
| 1652 | This support is currently 'testing' code. Send bugs about it
|
---|
| 1653 | to pzn@debian.org
|
---|
| 1654 |
|
---|
| 1655 | .SH INTEGRATION WITH LATEX
|
---|
[418] | 1656 | .PP
|
---|
| 1657 | .nf
|
---|
[419] | 1658 | 1. At the top, say
|
---|
| 1659 | \\usepackage{graphics}
|
---|
[418] | 1660 |
|
---|
[419] | 1661 | 2. The floating object is done using:
|
---|
[418] | 1662 |
|
---|
[419] | 1663 | \\begin{figure}
|
---|
| 1664 | \\begin{center}
|
---|
| 1665 | \\includegraphics{a.eps}
|
---|
| 1666 | \\end{center}
|
---|
| 1667 | \\end{figure}
|
---|
| 1668 |
|
---|
| 1669 | 3. Now go through dvips as usual and the .ps file will work.
|
---|
| 1670 | .fi
|
---|
| 1671 | .PP
|
---|
| 1672 | .SH INTEGRATION WITH PDFLATEX
|
---|
[418] | 1673 |
|
---|
[419] | 1674 | If you are using pdflatex, it requires .pdf files and not .eps
|
---|
| 1675 | files. In that case, you have to run epstopdf on the .eps file to get
|
---|
| 1676 | a .pdf file. After that,
|
---|
| 1677 | .br
|
---|
| 1678 | \\includegraphics{a.pdf}
|
---|
| 1679 | .br
|
---|
| 1680 | does the trick.
|
---|
| 1681 | .SH SCALING THE INCLUDED GRAPHICS OBJECT
|
---|
| 1682 | Sometimes you need to change the size of the included object at LaTeX
|
---|
| 1683 | time. In that case, you need
|
---|
| 1684 | .br
|
---|
| 1685 | \\usepackage{graphicx}
|
---|
| 1686 | .br
|
---|
| 1687 | instead of graphics, and then say something like
|
---|
[418] | 1688 |
|
---|
[419] | 1689 | \\includegraphics[width=7cm]{a.eps}
|
---|
| 1690 | or
|
---|
| 1691 | \\includegraphics[height=7cm]{a.eps}
|
---|
[418] | 1692 |
|
---|
[419] | 1693 | you can also omit the .eps/.pdf suffix:
|
---|
| 1694 | \\includegraphics[height=7cm]{a}
|
---|
[418] | 1695 |
|
---|
[419] | 1696 | a.eps and a.pdf can both exist, and includegraphics will automatically
|
---|
| 1697 | choose the correct one for postscript or pdf output, depending if you
|
---|
| 1698 | are using latex of pdflatex.
|
---|
| 1699 |
|
---|
| 1700 | .SH AUTOMATION USING MAKE
|
---|
| 1701 | You can automate the mapping from .jgr -> .eps or .jgr -> .pdf
|
---|
| 1702 | in your Makefile using these rules:
|
---|
| 1703 | .nf
|
---|
| 1704 |
|
---|
| 1705 | --------- cut here ---------
|
---|
| 1706 | %.eps : %.jgr
|
---|
| 1707 | jgraph $< > $@
|
---|
| 1708 | %.pdf : %.jgr
|
---|
| 1709 | jgraph $< | epstopdf --filter > $@
|
---|
| 1710 | --------- cut here ---------
|
---|
[418] | 1711 | .fi
|
---|
[419] | 1712 |
|
---|
| 1713 | jgraph can also return the exit status correctly, so it is also a good
|
---|
| 1714 | idea to use it in your scripts to prevent bad .eps files if the .jgr
|
---|
| 1715 | source is bad. The following Makefile can handle its exit status.
|
---|
| 1716 | .nf
|
---|
| 1717 |
|
---|
| 1718 | --------- cut here ---------
|
---|
| 1719 | %.eps : %.jgr
|
---|
| 1720 | jgraph $< > $@; \\
|
---|
| 1721 | if [ "$$?" != "0" ]; then \\
|
---|
| 1722 | rm -f $@; \\
|
---|
| 1723 | exit 1; \\
|
---|
| 1724 | fi
|
---|
| 1725 | %.pdf : %.jgr
|
---|
| 1726 | TMP=`tempfile`; jgraph $< > $${TMP}; \\
|
---|
| 1727 | if [ "$$?" == "0" ]; then \\
|
---|
| 1728 | cat $${TMP} | epstopdf --filter > $@; \\
|
---|
| 1729 | rm -f $${TMP}; \\
|
---|
| 1730 | else \\
|
---|
| 1731 | rm -f $${TMP} $@; \\
|
---|
| 1732 | exit 1; \\
|
---|
| 1733 | fi;
|
---|
| 1734 | --------- cut here ---------
|
---|
| 1735 | .fi
|
---|
| 1736 |
|
---|
[418] | 1737 | .SH BUGS
|
---|
| 1738 | Logarithmic axes cannot contain points <= 0. If I have
|
---|
| 1739 | enough complaints to convince me that this is a bug, I'll try to fix it.
|
---|
| 1740 | .sp
|
---|
| 1741 | There is no real way to make the axes such that they decrease from
|
---|
| 1742 | left to right or low to high -- or at least not without writing your
|
---|
| 1743 | own hash labels.
|
---|
| 1744 | .sp
|
---|
[419] | 1745 | There may well be loads of other bugs. Send to plank@cs.utk.edu.
|
---|
[418] | 1746 | .sp
|
---|
| 1747 |
|
---|
| 1748 | This is $Revision: 8.3 $.
|
---|