Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  PGRAPH (1)


pgraph - compile graphs into pic input




pgraph [ options ] [ filename ... ]


pgraph is a perl script which takes sets of X Y data and generates a (human readable) pic program that will produce the graphed data. The output is designed such that you can save it in a file and tweak it to make it fit your document. Try one and look at the output. The output is actually commented.

The graph is autosized and auto ticked.

The input data format is similar that of xgraph(1), i.e.,

"sloped across
1 1
2 2
3 3

"straight across 1 4 2 4 3 4


You may set the graph title, the X title, and the Y title with the following control sequences in the data stream:

%T Graph title in +4 point font
%X X axis title and/or units in +2 point font
%Y Y axis title and/or units in +2 point font
%fakemax-X <value>     force graph to be that big
%fakemax-Y <value>     force graph to be that big
%fakemin-X <value>     force graph to be that small
%fakemin-Y <value>     force graph to be that small


-rev reverse X/Y data sense (and titles). Note this is done after processing any fudging of the input data stream(s) (see -xk, -yk, -logx, etc below).
-below put data set titles below the graph rather than to the right.
-close no extra space around the data’s endpoints.
-qline connect the quartile center points.
-grid dotted line grid marks.
-nobox no box around whole graph.
-big make the graph take the whole page, and be about 8 inches tall by 7 inches wide and the title is +8 points.
-slide make the graph be 4.25 inches square to fit in slides, in a helvetica bold 10 point font.
-small make the graph be small, 1.75 inches square, and use an 8 point bold font.
-grapheach draw each data set in its own graph.
-nolabels no X/Y/Title labels.
-notitle no Title label.
-nodatal no data set labels.
-nomarks do not mark each data point with distinct markers (endpoints are still marked).
-k print values larger than 1000 as value/1000.
-xk multiply X input by 1024 (blech).
-yk multiply Y input by 1024 (blech).
-xm multiply X input by 1024*1024 (blech).
-ym multiply Y input by 1024*1024 (blech).
-logx convert X input into log base 2 of X input.
-logy convert Y input into log base 2 of Y input.


Workstation price performance from a Digital ad. Process with

graph -rev workstations | groff -TX75

%T Workstation Price / Performance, 6/93 %X SPECINT 92 Performance %Y Price in $1000’s "Dec AXP line 35 5 65 10 78 15 110 70

"Sun SPARC line 25 4 25 8 38 16 48 21 52 23 64 27


Data points are x y1 y2 y3 y4 y5. You get a two lines from the first two y values, a mark at the third, and another line from the last two.


gtroff(1), gpic(1), perl(1).


-grapheach assumes the set of N graphs will fit on one page.

Since it is just a simple perl script, I tend to be constantly adding one more feature on the fly. Consult the script for the latest set of options. Development is typically done by using the closest set of options to generate the graph, massage the graph to do what you want, then add that set of changes as a new option.

This isn’t done as much as I would like. It isn’t integrated with the groff preprocessor yet. It doesn’t know about .GS/.GE things. I use it to manually generate a pic file and then include that.

I need to include some example data sets with pgraph.

Search for    or go to Top of page |  Section 1 |  Main Index PGRAPH (1) Nov, 1995

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.