| .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 \*9/src/cmd/draw/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. |