summaryrefslogtreecommitdiff
path: root/static/v10/man1/grap.1
diff options
context:
space:
mode:
Diffstat (limited to 'static/v10/man1/grap.1')
-rw-r--r--static/v10/man1/grap.1400
1 files changed, 400 insertions, 0 deletions
diff --git a/static/v10/man1/grap.1 b/static/v10/man1/grap.1
new file mode 100644
index 00000000..b380401e
--- /dev/null
+++ b/static/v10/man1/grap.1
@@ -0,0 +1,400 @@
+.TH GRAP 1
+.CT 1 writing_troff graphics
+.SH NAME
+grap \(mi pic preprocessor for drawing graphs
+.SH SYNOPSIS
+.B grap
+[
+.I file ...
+]
+.SH DESCRIPTION
+.I Grap
+is a
+.IR pic (1)
+preprocessor for drawing graphs on a typesetter.
+Graphs are surrounded by the
+.I troff
+`commands'
+.B \&.G1
+and
+.BR \&.G2 .
+Data that is enclosed is scaled and plotted,
+with tick marks supplied automatically.
+Commands exist to modify the frame,
+add labels, override the default ticks,
+change the plotting style,
+define coordinate ranges and transformations,
+and include data from files.
+In addition,
+.I grap
+provides the same loops, conditionals and macro processing that
+.I pic
+does.
+.PP
+.BI frame
+.B ht
+.I e
+.B wid
+.I e
+.B top
+.B dotted
+.I \&...:
+Set the frame around the graph to specified
+.B ht
+and
+.BR wid ;
+default is 2 by 3 (inches).
+The default mode applies to all four sides;
+.BR top ,
+.BR bot ,
+.BR left ,
+or
+.B right
+can be set to
+.BR dotted ,
+.BR dashed ,
+.BR invis ,
+or
+.BR solid
+independently.
+.PP
+.B label
+.I side
+.B \&"a label"
+.B \&"as a set of strings"
+.I adjust:
+Place label on specified side; default side is bottom.
+.I adjust
+is
+.B up
+(or
+.B down
+.B left
+.BR right )
+.I expr
+to shift default position;
+.B width
+.I expr
+sets the width explicitly.
+.PP
+.BI ticks
+.I side
+.B in
+.B at
+.I "optname expr, expr, ...:
+Put ticks on
+.I side
+at
+.I "expr, ...,
+and label with
+.I \&"expr".
+If any
+.I expr
+is followed by "...", label tick with "...",
+and turn off all automatic labels.
+If "..." contains
+.BR %f 's,
+they will be interpreted as
+.B printf
+formatting instructions for the tick value.
+Ticks point
+.B in
+or
+.B out
+(default out).
+Tick iterator: instead of
+.B at
+.I \&...,
+use
+.BI from
+.I expr
+.B to
+.I expr
+.B by
+.I "o expr
+where
+.I o
+is optionally
+.B +-*/
+for additive or multiplicative steps.
+.B by
+can be omitted, to give steps of size 1.
+If no ticks are requested, they are supplied automatically;
+suppress this with
+.B ticks
+.BR off .
+Automatic ticks normally
+leave a margin of 7% on each side; set this to anything by
+.B margin
+.B =
+.I expr.
+.PP
+.B grid
+.I "side linedesc"
+.B at
+.I "optname expr, expr, ...:
+Draw grids perpendicular to
+.I side
+in style
+.I linedesc
+at
+.I "expr, ....\&
+Iterators and labels work as with ticks.
+.PP
+.B coord
+.I optname
+.B x
+.I "min, max"
+.B y
+.I "min, max"
+.B "log x
+.BR " log y :
+Set range of coords and optional log scaling on either or both.
+This overrides computation of data range.
+Default value of
+.I optname
+is current coordinate system
+(each
+.B coord
+defines a new coordinate system).
+.PP
+.B plot
+.I \&"str"
+.B at
+.IR point ;
+.B
+.I \&"str"
+.B at
+.I point:
+Put
+.I str
+at
+.I point.
+Text position can be qualified with
+.BR rjust ,
+.BR ljust ,
+.BR above ,
+.BR below
+after "...".
+.PP
+.B line
+.B from
+.I point
+.B to
+.I "point linedesc:
+Draw line from here to there.
+.B arrow
+works in place of
+.BR line .
+.PP
+.B next
+.I optname
+.B at
+.I "point linedesc:
+Continue plot of data in
+.I optname to
+.IR point ;
+default is current.
+.PP
+.BI draw
+.I "optname linedesc...:"
+Set mode for
+.BR next :
+use this style from now on,
+and plot "..." at each point (if given).
+.PP
+.BI new
+.I "optname linedesc ...:"
+Set mode for
+.BR next ,
+but disconnect from previous.
+.PP
+A list of numbers
+.I "x y1 y2 y3 ...
+is treated as
+.B plot
+.B bullet
+.B at
+.IR x,y1 ;
+.B plot
+.B bullet
+.B at
+.IR x,y2 ;
+etc., or as
+.B next
+.B at
+.I x,y1
+etc., if
+.B draw
+is specified.
+Abscissae of 1,2,3,... are provided if there is only one input number per line.
+.PP
+A
+point
+.I "optname expr, expr
+maps the point to the named coordinate system.
+A
+.I linedesc
+is one of
+.B dot
+.B dash
+.B invis
+.B solid
+optionally followed by an expression.
+.PP
+.BI define
+.I name
+.BI { whatever } :
+Define a macro.
+There are macros already defined for standard plotting
+symbols like
+.BR bullet ,
+.BR circle ,
+.BR star ,
+.BR plus ,
+etc., in
+.FR /usr/lib/grap.defines ,
+which is included if it exists.
+.PP
+.I var
+.B =
+.I expr:
+Evaluate an expression.
+Operators are
+.B=
+.B +
+.B -
+.B *
+and
+.B / .
+Functions are
+.B log
+and
+.B exp
+(both base 10),
+.BR sin ,
+.BR cos ,
+.BR sqrt ;
+.B rand
+returns random number on [0,1);
+.BI max( e , e ) ,
+.BI min( e , e ) ,
+.BI int( e ) .
+.PP
+.B print
+.IR expr ;
+.B print
+.I \&"...:"
+As a debugging aid, print
+.I expr or
+.I string
+on the standard error.
+.PP
+.B copy
+\f5"\fIfilename\f5"\fR
+.I :
+Include this file right here.
+.PP
+.B copy
+.B thru
+.I macro:
+Pass rest of input (until
+.BR \&.G2 )
+through
+.IR macro ,
+treating each field (non-blank, or "...") as an argument.
+.I macro
+can be the name of a macro previously defined,
+or the body of one in place, like
+.BR "/plot $1 at $2,$3/" .
+.PP
+.B copy
+.B thru
+.I macro
+.B until
+.B \&"
+.I string
+.B \&"
+:
+Stop copy when input is
+.I string
+(left-justified).
+.PP
+.BI pic
+.I "remainder of line:
+Copy to output with leading blanks removed.
+.PP
+.BI graph
+.I "Name pic-position:
+Start a new frame, place it at specified position,
+e.g.,
+.B graph
+.B Thing2
+.BR "with .sw at Thing1.se + (0.1,0)" .
+.I Name
+must be capitalized to keep
+.I pic
+happy.
+.PP
+.BI \&. "anything at beginning of line:
+Copied verbatim.
+.PP
+.B sh
+.BI % anything % :
+Pass everything between the
+.BR % 's
+to the shell;
+as with macros,
+.B %
+may be any character and
+.I anything
+may include newlines.
+.PP
+.B #
+.I anything:
+A comment, which is discarded.
+.PP
+Order is mostly irrelevant; no category is mandatory.
+Any arguments on the
+.B \&.G1
+line are placed on the generated
+.B \&.PS
+line for
+.I pic.
+.SH
+EXAMPLES
+.EX
+.ps -1
+.vs -1
+\&.G1
+frame top invis right invis
+coord x 0, 10 y 1, 5 log y
+ticks left in at 1 "bottommost tick", 2,3,4,5 "top tick"
+ticks bot in from 0 to 10 by 2
+label bot "this is a" "silly graph"
+label left "left side label" "here"
+grid bot dotted at 2,4,6,8
+grid left dashed at 2.5
+copy thru / circle at $1,$2 /
+1 1
+2 1.5
+3 2
+4 1.5
+10 5
+\&.G2
+.ps
+.vs
+.EE
+.SH FILES
+.TF /usr/lib/grap.defines
+.TP
+.F /usr/lib/grap.defines
+definitions of standard plotting characters, e.g., bullet
+.SH "SEE ALSO"
+.IR graph (1),
+.IR pic (1),
+.IR plot (3)
+.br
+J. L. Bentley and B. W. Kernighan,
+.I "GRAP \(em A Language for Typesetting Graphs,
+CSTR 114, 1984