By downloading this code you agree to the
Source Code Use License (PDF). |
{ version = 2.65; (* of genpic.p 2021 Aug 27}
(* begin module describe.genpic *)
(*
name
genpic: convert genhis output to pic input
synopsis
genpic(histog: in, genpicp: in, picout: out, output: out)
files
histog: the output of the genhis program
genpicp: parameters to control the histogram are one per line.
The first line must be the version number of the this program. This
allows the program to recognize when the parameter file is old. If
the version is less than 2.26, genpic will upgrade the genpicp
file.
x: x coordinate of graph start on the page (cm)
y: y coordinate of graph start on the page (cm)
rotation: angle to rotate the graph
graphheight: height of the core graph (cm).
When there is no y axis (original design of the program)
this number determines the height of the highest histogram
box ("boxheight").
When there is a y axis, it is the length of
the y axis.
boxwidth: width of the histogram boxes. (cm)
intervalsize: the space for the interval number. (cm)
histogramvalue: the space for the histogram value. (cm)
boxshift: how much to shift the boxes up relative to the numbers. (cm)
ifield: number of characters devoted to the interval
idecimal: number of characters devoted to the interval's decimal places
nfield: number of characters devoted to the number of numbers
modulo: an integer that determines which interval numbers are
shown. Modulo = 1 gives all numbers, modulo = 2 gives every
even number, etc.
If there is a second real number on the line, the
modulomultiplier, then the interval numbers are first
multiplied by this number. This allows one to control
intervals below 1. (This doesn't work quite right yet.)
FIRST COLUMN TITLE
column name size (integer): the size in points of the column names
relative column 1 name x coordinate adjustment (cm): real number
relative column 1 name y coordinate adjustment (cm): real number
first column name: the entire line defines the name
SECOND COLUMN TITLE
NEW PARAMETER as of 2002 Feb 21:
column name size (integer): the size in points of the column names
relative column 1 name x coordinate adjustment (cm): real number
relative column 1 name y coordinate adjustment (cm): real number
second column name: the entire line defines the name
OTHER TITLES
previously undocumented PARAMETER as of 2002 Feb 21:
othertitles (integer): How many more titles to do
title name size (integer): the size in points of the title
title x coordinate relative adjustment (cm): real number
title y coordinate relative adjustment (cm): real number
title name: the entire line defines the title
EDGE CONTROLS, on one line:
edgecontrol edgeleft, edgeright, edgelow, edgehigh: edgecontrol is
a single character that controls how the bounding box of the figure
is handled. If it is 'n' then the initial bounding box will be the
page parameters defined in constants inside the program (llx, lly,
urx, ury and changes as set by the previous parameter line).
Otherwise the program will attempt to determine a good starting
bounding box. The next 4 parameters are four real numbers that
define the edges around the figure in cm. To allow a graph to be
imbedded into another figure, its size must be defined in PostScript
(with %%BoundingBox). By setting these four numbers, the edges are
defined. Negative values are allowed; this will move the edges
*inward*.
NEW PARAMETERS as of 2007 Aug 30:
X-AXIS CONTROLS, on one line:
xaxiscontrol: char; x means to plot an X axis
xaxismax: integer; maximum count to plot
x axis interval control:
xaxisintervals: integer; interval size, counts
xaxissubintervals: integer; number of sub-intervals
x axis tic mark controls:
xaxisticlength: real; length of tic mark
xaxisticdx: real; x position of number relative to tic mark
xaxisticdy: real; y position of number relative to tic mark
Y-AXIS CONTROLS, on one line:
yaxiscontrol: char; y means to plot a Y axis
yaxismax: integer; maximum count to plot
y axis interval control:
yaxisintervals: integer; interval size, counts
yaxissubintervals: integer; number of sub-intervals
y axis tic mark controls:
yaxisticlength: real; length of tic mark
yaxisticdx: real; x position of number relative to tic mark
yaxisticdy: real; y position of number relative to tic mark
picout: the data in histog are converted to PostScript
All lines describing the data are comments.
output: messages to the user.
description
The genhis program generates a histogram in simple character format.
The program genpic converts this simple histogram into PostScript
commands. Therefore, one can imbed output from genhis in the text of a
paper. A vertical line is given at coordinate zero.
examples
an example genpicp:
2.26 version of genpicp that this parameter file is designed for.
1.0 x cm
10.0 y cm
0 rotation
4 graphheight, height of the graph, cm
0.3 boxwidth, width of the histogram boxes, cm
0.6 intervalsize, space for interval number, cm
0.6 histogramvalue, space for histogram value, cm
0 boxshift, shift boxes up relative to numbers, cm
5 field: number of characters devoted to the interval
1 decimal: number of characters devoted to the interval's decimal places
5 field: number of characters devoted to the number of numbers
1 modulo: multiples of this number are shown
0 barlocation: where to put a vertical bar
12 column name size (points)
0 relative column 1 name x coordinate adjustment (cm)
0.20 relative column 1 name y coordinate adjustment (cm)
second column name (values)
12 column name size (points)
0 relative column 2 name x coordinate adjustment (cm)
0.40 relative column 2 name y coordinate adjustment (cm)
first column name (number)
14 title name size (points)
-5.2 relative title x coordinate adjustment (cm)
0.0 relative title y coordinate adjustment (cm)
overall title
1 How many more titles to do
12 other title name size (points)
0.0 relative title x coordinate adjustment (cm)
-0.8 relative title y coordinate adjustment (cm)
This is an additional title
n 0 0 0 0 edgecontrol (p=page), edgeleft, edgeright, edgelow, edgehigh in cm
x 17 5 5 0.1 -0.00 -0.35 xaxis: control max int subint ticlength ticdx ticdy
y 15 5 5 0.1 -0.12 -0.12 yaxis: control max int subint ticlength ticdx ticdy
see also
program that produces input to this program: genhis.p
example parameter file: genpicp
author
Thomas D. Schneider
bugs
2003 Aug 21, 2.30: WARNING: ALL PARAMETER FILES WILL HAVE TO BE
ADJUSTED. I discovered a bug in which the graph shifts right
depending on number of '*' comment lines in the histog file. This bug
was removed. This will ALTER the required x coordinate of ALL
GRAPHS!!! It is a nasty bug because all parameter files depended on
this and each one was adjusted (unintentionally) by hand to account
for it. It is a holdover from some time (perhaps) when the comment
lines were printed on the output. Since we don't do that anymore, it
is not needed. The effect of having the bug was that if one generated
graphs with different numbers of header line comments, the graphs
would shift depending on the number of header lines and so the graphs
would be different.
technical note
defaults for the page parameters are in module genpic.const.
NEW PARAMETERs as of 2002 Feb 21:
edgecontrol edgeleft, edgeright, edgelow, edgehigh
*)
(* end module describe.genpic *)
{This manual page was created by makman 1.45}
{created by htmlink 1.62}