aboutsummaryrefslogtreecommitdiff
path: root/man/man1/gview.html
blob: 6abdc7da4f35d8acd1f01a2c0098f7279bb05ca0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
<head>
<title>gview(1) - Plan 9 from User Space</title>
<meta content="text/html; charset=utf-8" http-equiv=Content-Type>
</head>
<body bgcolor=#ffffff>
<table border=0 cellpadding=0 cellspacing=0 width=100%>
<tr height=10><td>
<tr><td width=20><td>
<tr><td width=20><td><b>GVIEW(1)</b><td align=right><b>GVIEW(1)</b>
<tr><td width=20><td colspan=2>
    <br>
<p><font size=+1><b>NAME     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    gview &ndash; interactive graph viewer<br>
    
</table>
<p><font size=+1><b>SYNOPSIS     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    <tt><font size=+1>gview</font></tt> [ <tt><font size=+1>&#8722;l</font></tt> <i>logfile</i> ] [ <tt><font size=+1>&#8722;m</font></tt> ] [ <i>file</i> ]<br>
    
</table>
<p><font size=+1><b>DESCRIPTION     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    <i>Gview</i> reads polygonal lines or a polygonal line drawing from an
    <tt><font size=+1>ASCII</font></tt> 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. 
    <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
    
    Since the <tt><font size=+1>move</font></tt> and <tt><font size=+1>rotate</font></tt> commands are undesirable when just viewing
    a graph, they are only enabled if <i>gview</i> is invoked with the <tt><font size=+1>&#8722;m</font></tt>
    option. 
    <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
    
    Clicking on a polyline with button 1 displays the coordinates
    and a <i>t</i> value that tells how far along the polyline. <i>(t</i>=0 at the
    first vertex, <i>t</i>=1 at the first vertex, <i>t</i>=1.5 halfway between the
    second and third vertices, etc.) The <tt><font size=+1>&#8722;l</font></tt> option generates a log
    file that lists all points selected in this manner. 
    <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
    
    The most important interactive operations are to <i>zoom in</i> by sweeping
    out a rectangle, or to <i>zoom out</i> so that everything currently being
    displayed shrinks to fit in the swept-out rectangle. Other options
    on the button 3 menu are <i>unzoom</i> which restores the coordinate
    system to the default state where everything fits on
    the screen, <i>recenter</i> which takes a point and makes it the center
    of the window, and <i>square up</i> which makes the horizontal and vertical
    scale factors equal. 
    <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
    
    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</i> 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 <i>y</i>). Then the <i>zoom in</i> command can be used
    to accentuate deviations from horizontal. There is also an <i>unslant</i>
    command that undoes all of this and goes back to an unslanted
    coordinate system. 
    <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
    
    There is a <i>recolor</i> 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</i> or <i>thin</i> command on button 2 changes the thickness of the
    selected polyline and there is also an undo command for such
    edits. 
    <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
    
    Finally, button 3 had commands to <i>read</i> a new input file and display
    it on top of everything else, <i>restack</i> the drawing order (in case
    lines of different color are drawn on top of each other), <i>write</i>
    everything into an output file, or <i>exit</i> the program. 
    <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
    
    Each polyline in an input or output file is a space-delimited
    <i>x y</i> 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.)<br>
    If the label after a polyline can contains the word <tt><font size=+1>Thick</font></tt> or a
    color name <tt><font size=+1>(Red</font></tt>, <tt><font size=+1>Pink</font></tt>, <tt><font size=+1>Dkred</font></tt>, <tt><font size=+1>Orange</font></tt>, <tt><font size=+1>Yellow</font></tt>, <tt><font size=+1>Dkyellow</font></tt>, <tt><font size=+1>Green</font></tt>,
    <tt><font size=+1>Dkgreen</font></tt>, <tt><font size=+1>Cyan</font></tt>, <tt><font size=+1>Blue</font></tt>, <tt><font size=+1>Ltblue</font></tt>, <tt><font size=+1>Magenta</font></tt>, <tt><font size=+1>Violet</font></tt>, <tt><font size=+1>Gray</font></tt>, <tt><font size=+1>Black</font></tt>, <tt><font size=+1>White</font></tt>),
    whichever color name comes first will be used to color the polyline.
    
</table>
<p><font size=+1><b>EXAMPLE     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    To see a graph of the function <i>y</i>=<i>sin(</i>x<i>)/</i>x generate input with
    an awk script and pipe it into <i>gview</i>:<br>
    
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        <tt><font size=+1>awk 'BEGIN{for(x=.1;x&lt;500;x+=.1)print x,sin(x)/x}' | gview<br>
        </font></tt>
    </table>
    
</table>
<p><font size=+1><b>SOURCE     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    <tt><font size=+1>/usr/local/plan9/src/cmd/draw/gview.c<br>
    </font></tt>
</table>
<p><font size=+1><b>SEE ALSO    </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    <a href="../man1/awk.html"><i>awk</i>(1)</a><br>
    
</table>
<p><font size=+1><b>BUGS     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    The user interface for the <i>slant</i> command is counter-intuitive.
    Perhaps it would be better to have a scheme for sweeping out a
    parallelogram.<br>
    
</table>

<td width=20>
<tr height=20><td>
</table>
<!-- TRAILER -->
<table border=0 cellpadding=0 cellspacing=0 width=100%>
<tr height=15><td width=10><td><td width=10>
<tr><td><td>
<center>
<a href="../../"><img src="../../dist/spaceglenda100.png" alt="Space Glenda" border=1></a>
</center>
</table>
<!-- TRAILER -->
</body></html>