GRAPHBUG(1)
NAME
graphbug - Convert tallybug output to PostScript graphs
SYNOPSIS
graphbug [-slxw] [-ox,y] [-cfile] [-C] [-f{L|P}HxW] [ n of N ]
DESCRIPTION
Creates PostScript graphs from the output of tallybug(1).
graphbug reads intermediate data produced by tallybug(1) or
ClearDDTS awk(1) scripts. The graphbug utility reads a
formated ASCII graph description from standard input and
writes a PostScript description of the graph to standard
output.
graphbug can generate one or more graphs per page in either
portrait or landscape mode. The size of the output graphs
is determined by the -s option. Arrangement of the graphs
on the page is controlled by the -o option. The -f option
determines the orientation and the layout of graphs on the
page. graphbug produces Color PostScript output when the -C
option is provided on the command line.
OPTIONS
-slxw
defines the full size of graphs produced by graphbug.
l and w represent the length and width of the graphs in
inches. The default size of the graph is 10 inches by
8 inches. When printing multiple graphs on a page, the
size is measured in relation to the area of a single
graph on the page.
-s8.5x5.0 defines a graph that is 8.5" by 5" when
printed full size.
-oh,w
defines the location of the lower left corner of the
graph on the page when printed in landscape mode. When
printing multiple graphs on a page, the offsets are
measured in relation to the area of a single graph on
the page. The default is 0.5" from the left and 0.25"
from the bottom.
-C produces color PostScript output which can be printed
on a color PostScript printer such as the Tektronix
Phaser II color printer.
-cfile
defines an alternate configuration file for graphbug.
-f{L|P}HxW
defines the page layout. L sets landscape orientation
and P sets portrait orientation. H represents the
number of graphs in the vertical axis and W represents
the number of graphs in the horizontal axis. By
default, graphbug produces a single graph in landscape
orientation.
-fP3x2 formats a page in portrait mode for 6
graphs: 3 vertically and 2 horizontally.
n of N
determines which graph on the page should be drawn
using the current data when multiple graphs are defined
on a page with the -f option. N is the total number
graphs which will be drawn on a page and should not be
larger than the number of graph position defined by the
-f option. n is the number of the current graph on the
page. Graphs are numbered from left to right across
each row from top to bottom. Graphs should be
generated in order so that graphbug can generate a
complete page definition. When n = 1, graphbug
generates the page header. When n = N, graphbug
generates commands for the end of the page. The output
of several graphbug commands together form a complete
page. The default is 1 of 1.
EXAMPLES
In the examples below, the file named defects is a text file
which contains bugid numbers and other data as expected by
tallybug. Generally, this will be the output of a findbug
and bugval command. The findbug command should not select
bugs by date since this may deprive the tallybug program of
historical context. See the man page on tallybug(1) for an
example of this input.
The following command graphs unresolved bugs by severity
during the period from Oct 31, 1990 to Nov 1, 1991.
cat defects \
| tallybug -NAO -1234 -gSV -b10-31-90 -e911101 "Defects" \
| graphbug | lpr -Pps
The following prints two graphs on one page in portrait
orientation. The first graph is printed in the top half of
the page. The second graph appears below the first.
cat defects \
| tallybug -NAORV -1234 -gST -b10-31-90 -e11-1-91 "Defects"\
| graphbug -fP2x1 1 of 2 > graph.ps
cat defects \
| tallybug -NAO -1234 -gSV -b901031 -e911101 "Some more" \
| graphbug -fP2x1 2 of 2 >> graph.ps
lpr -Pps graph.ps
CONFIGURATION
A configuration file may be used to override the default
colors in graphbug or to add textual notations to the graph.
It also may be used to set the page size and offset in the
format of the -s and -o command line options. Each line of
the configuration file contains a variable-value pair.
Colors are defined as rgb triplets using floating point
values between 0.0 and 1.0. Multiple lines are required to
define a complete color table. Fill, line and text colors
are defined separately. Any color definitions completely
overrides the corresponding default colors so a color table
must be defined completely in the configuration file or not
at all. Each color is defined by a line using the following
syntax:
table color: red green blue
table defines the color table. This may be either
line, fill or text.
red a number from 0.0 to 1.0 which represents the
red content of a color.
green a number from 0.0 to 1.0 which represents the
green content of a color.
blue a number from 0.0 to 1.0 which represents the
blue content of a color.
The following example defines the colors black and red for
use in textual notations:
text color: 0.0 0.0 0.0
text color: 1.0 0.0 0.0
Text notations may be positioned anywhere in relation to
graphs using left, right or center alignment. The syntax
for the text notation string is
note: [COLOR n] [alignment] size x
COLOR n defines the text color. The keyword COLOR
identifies a text color reference. The first
color is numbered 0 which is also the default
color value.
alignment defines the text alignment. The alignment
can be either LEFT, CENTER or RIGHT. Text
alignment defines where the text will be
printed relative to the point defined by the
x and y parameters of the note definition.
Left alignment means that the text will be
printed left of the point. Center alignment
means that the text will be centered above
the point. Left alignment is the default.
size defines the size of the text. The size of
the text is defined as the point size of the
text when the graph is printed using the
default graph size and orientation.
x y defines a reference point in the graph area
which includes a graph and the surrounding
margins. The coordinates 0.0 0.0 define the
lower-left corner of the graph area. The
coordinates 1.0 1.0 define the upper right
corner of the graph area. The reference
point and the text alignment define the
location of the baseline under the text
string.
string defines the text of the notation. This
string must be quoted. The string may
contain date and time references using the
popular %-notation.
The notation string may contain references to the beginning
or ending date of a graph. graphbug accepts the following
date substitutions. In all cases, upper-case refers to the
beginning date of the graph while lower case refers to the
ending date. If neither is defined, graphbug will use the
current date and time.
%% substitutes a % character.
%A %a an abbreviation of the month name.
%C %c year, including century (ie. 1992).
%D %d day of the month.
%M %m numerical representation of the month.
%S %s the string "%m/%d/%y".
%W %w an abbreviation for the day of the week.
%X %x the string "%d %a %c".
%Y %y year within the century (00-99).
%t current date and time in standard
format.
The following definitions add two notations to a graph. The
first adds a note in 14 point red text under the lower-left
corner of the graph and the second prints the ending date
for the graph data in 18 point black text under the lower-
right corner of the graph:
note: COLOR 1 14 0.10 0.02 "Company Confidential"
note: RIGHT 18 0.90 0.02 "%x"
The paper size and offset can be configured in this file
using the size and offset notations. These accept arguments
exactly like the -s and -o command line options described
above. This is useful for countries where the paper size is
different from the U.S. standard of 8.5x11.
For example, to set up the European A4 standard of about
8.25"x11.5" with a .4" offset you would put the following in
the config file:
size: 8.25x11.5
offset: 0.4,0.4
FILES
~/.graphbug User's Configuration file file.
~ddts/etc/graphbug.cfg Default ClearDDTS Configuration
file.
SEE ALSO
findbug(1), bugval(1), tallybug(1),
ClearDDTS Administrator's Guide
AUTHOR
Wendell Damm, Tektronix, Inc.
Brian Walker, Tektronix, Inc.
NOTES
PostScript is a registered trademark of Adobe Systems
Incorporated.
Phaser is a trademark of Tektronix, Inc.