123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- .TH GVIEW 1
- .SH NAME
- gview \- interactive graph viewer
- .SH SYNOPSIS
- .B gview
- [
- .B -l
- .I logfile
- ]
- [
- .B -m
- ]
- [
- .I file
- ]
- .SH DESCRIPTION
- .I Gview
- reads polygonal lines or a polygonal line drawing from an
- .B ASCII
- input file (which defaults to standard input), and views it interactively,
- with commands to zoom in and out, perform simple editing operations, and
- display information about points and polylines. The editing commands can
- change the color and thickness of the polylines, delete (or undelete)
- some of them, and optionally rotate and move them. It is also possible to
- generate an output file that reflects these changes and is in the same format
- as the input.
- .PP
- Since the
- .B move
- and
- .B rotate
- commands are undesirable when just viewing a graph, they are only enabled if
- .I gview
- is invoked with the
- .B -m
- option.
- .PP
- Clicking on a polyline with button 1 displays the coordinates and a
- .I t
- value that tells how far along the polyline.
- .IR (t =0
- at the first vertex,
- .IR t =1
- at the first vertex,
- .IR t =1.5
- halfway between the second and third vertices, etc.) The
- .B -l
- option generates a log file that lists all points selected in this manner.
- .PP
- The most important interactive operations are to
- .I zoom in
- by sweeping out a rectangle, or to
- .I zoom out
- so that everything currently being displayed shrinks to fit in the swept-out
- rectangle. Other options on the button 3 menu are
- .I unzoom
- which restores the coordinate system to the default state where everything
- fits on the screen,
- .I recenter
- which takes a point and makes it the center of the window, and
- .I square up
- which makes the horizontal and vertical scale factors equal.
- .PP
- To take a graph of a function where some part is almost linear and
- see how it deviates from a straight line, select two points on this
- part of the graph (i.e., select one with button 1 and then select the
- other) and then use the
- .I slant
- command on the button 3 menu.
- This slants the coordinate system so that the line between the two
- selected points appears horizontal (but vertical still means positive
- .IR y ).
- Then the
- .I zoom in
- command can be used to accentuate deviations from horizontal.
- There is also an
- .I unslant
- command that undoes all of this and goes back to an unslanted coordinate
- system.
- .PP
- There is a
- .I recolor
- command on button 3 that lets you select a color and change everything
- to have that color, and a similar command on button 2 that only affects
- the selected polyline. The
- .I thick
- or
- .I thin
- command on button 2 changes the thickness of the selected polyline
- and there is also an undo command for such edits.
- .PP
- Finally, button 3 had commands to
- .I read
- a new input file and display it on top of everything else,
- .I restack
- the drawing order (in case lines of different color are drawn on top of
- each other),
- .I write
- everything into an output file, or
- .I exit
- the program.
- .PP
- Each polyline in an input or output file is a space-delimited
- .I x
- .I y
- coordinate pair on a line by itself, and the polyline is a sequence
- of such vertices followed by a label. The label could be just a
- blank line or it could be a string in double
- quotes, or virtually any text that does not contain spaces and is
- on a line by itself. The label at the end of the last polyline is
- optional. It is not legal to have two consecutive labels, since that
- would denote a zero-vertex polyline and each polyline must have at least
- one vertex. (One-vertex polylines are useful for scatter plots.)
- If the label after a polyline can contains the word
- .B "Thick"
- or a color name
- .BR (Red ,
- .BR Pink ,
- .BR Dkred ,
- .BR Orange ,
- .BR Yellow ,
- .BR Dkyellow ,
- .BR Green ,
- .BR Dkgreen ,
- .BR Cyan ,
- .BR Blue ,
- .BR Ltblue ,
- .BR Magenta ,
- .BR Violet ,
- .BR Gray ,
- .BR Black ,
- .BR White ),
- whichever color name comes first will be used to color the polyline.
- .SH EXAMPLE
- To see a graph of the function
- .IR y = sin( x )/ x ,
- generate input with an awk script and pipe it into
- .IR gview :
- .IP
- .EX
- awk 'BEGIN{for(x=.1;x<500;x+=.1)print x,sin(x)/x}' | gview
- .EE
- .SH SOURCE
- .B /sys/src/cmd/gview.c
- .SH SEE ALSO
- .IR awk (1)
- .SH BUGS
- The user interface for the
- .I slant
- command is counter-intuitive. Perhaps it would be better to have a scheme
- for sweeping out a parallelogram.
|