V10/cmd/grap/graptest.a

!<arch>
add.g           710956981   9     1     100666  493       `
.G1
define pie ?
frame ht 3 wid 3
coord x -1.2, 1.2 y -1.2, 1.2
ticks left off
ticks bot off
pic circle  radius x_gg(1)-x_gg(0) at x_gg(0), y_gg(0)
pi = 3.14159
rotat = 0.0
sum = 0
getsum($1); print sum
circle at sum,sum
copy $1 thru wedge
?
define wedge X 
half = rotat+ ( ( $1 / sum) * pi) 
rotat = rotat + ( ( $1 / sum) * 2 * pi) 
line from 0,0 to cos(rotat), sin(rotat) 
$2 at cos(half)*.7, sin(half)*.7
X
define add X sum = sum + $1 X
define getsum / copy $1 thru add /

pie("pie.d")
.G2

aed.g           710956981   9     1     100666  3638      `
.sp
.G1
frame top invis right invis ht 5 wid 4
coord x .5, 32 log x y 0,3000
label bot "Minimum Partition Size"
label left "CPU Time" "(seconds per" "iteration)" left .3
ticks bot in at 1,2,4,8,16
ticks left in at 500,1000,1500,2000,2500
 "0% variation" at 1,300
 "  5% variation" at 1,200
 "    10% variation" at 1,100

copy thru /  "o" at $6*.909,$7 / until "end"
new 0	i 1	r 1	678.83	300	243
new 0	i 1	r 16	180.07	349	261
new 0	i 1	r 2	501.27	324	239
new 0	i 1	r 4	370.65	341	252
new 0	i 1	r 8	256.32	359	257
new 0	i 2	r 1	680.95	352	234
new 0	i 2	r 16	198.78	381	266
new 0	i 2	r 2	558.77	366	245
new 0	i 2	r 4	422.18	380	253
new 0	i 2	r 8	292.13	401	248
new 0	i 4	r 1	733.65	324	236
new 0	i 4	r 16	235.47	352	261
new 0	i 4	r 2	565.12	326	233
new 0	i 4	r 4	426.28	340	238
new 0	i 4	r 8	319.90	373	248
new 0	i 8	r 1	810.60	399	237
new 0	i 8	r 16	300.23	423	271
new 0	i 8	r 2	666.40	393	243
new 0	i 8	r 4	526.82	418	244
new 0	i 8	r 8	399.38	441	243
new 0	i 16	r 1	1017.73	324	241
new 0	i 16	r 16	448.87	380	277
new 0	i 16	r 2	879.48	325	241
new 0	i 16	r 4	700.03	329	249
new 0	i 16	r 8	570.47	360	269
new 0	i 32	r 1	1431.88	385	236
new 0	i 32	r 16	753.92	420	266
new 0	i 32	r 2	1292.90	386	247
new 0	i 32	r 4	1066.88	384	256
new 0	i 32	r 8	918.32	433	267
new 0	i 64	r 1	2375.30	349	238
new 0	i 64	r 16	1431.70	379	280
new 0	i 64	r 2	2114.78	323	234
new 0	i 64	r 4	1940.58	353	240
new 0	i 64	r 8	1716.17	381	239
end
copy thru /  "o" at $6*1.1,$7 / until "end"
new 10	i 1	r 1	615.07	250	232
new 10	i 1	r 16	168.72	285	228
new 10	i 1	r 2	472.90	252	225
new 10	i 1	r 4	333.07	268	224
new 10	i 1	r 8	240.58	278	228
new 10	i 2	r 1	618.85	262	207
new 10	i 2	r 16	190.35	308	253
new 10	i 2	r 2	472.60	289	226
new 10	i 2	r 4	343.23	268	232
new 10	i 2	r 8	248.40	276	216
new 10	i 4	r 1	658.68	229	225
new 10	i 4	r 16	213.88	248	228
new 10	i 4	r 2	522.57	228	232
new 10	i 4	r 4	390.75	238	210
new 10	i 4	r 8	291.53	250	229
new 10	i 8	r 1	759.18	212	207
new 10	i 8	r 16	284.53	239	245
new 10	i 8	r 2	623.43	211	212
new 10	i 8	r 4	478.83	215	223
new 10	i 8	r 8	369.42	233	228
new 10	i 16	r 1	983.18	233	217
new 10	i 16	r 16	426.33	266	239
new 10	i 16	r 2	831.05	236	214
new 10	i 16	r 4	663.93	231	211
new 10	i 16	r 8	539.88	248	228
new 10	i 32	r 1	1414.42	232	220
new 10	i 32	r 16	744.13	248	224
new 10	i 32	r 2	1232.30	214	214
new 10	i 32	r 4	1044.27	234	220
new 10	i 32	r 8	879.68	270	222
new 10	i 64	r 1	2282.35	195	195
new 10	i 64	r 16	1389.63	228	221
new 10	i 64	r 2	2106.90	188	195
new 10	i 64	r 4	1830.90	222	216
new 10	i 64	r 8	1578.98	235	205
end
copy thru /  "o" at $6,$7 / until "end"
new 5	i 1	r 1	601.87	221	212
new 5	i 1	r 16	157.68	258	240
new 5	i 1	r 2	456.45	226	215
new 5	i 1	r 4	323.75	254	228
new 5	i 1	r 8	230.10	244	248
new 5	i 2	r 1	609.32	216	222
new 5	i 2	r 16	171.98	253	234
new 5	i 2	r 2	473.97	226	221
new 5	i 2	r 4	342.63	246	214
new 5	i 2	r 8	247.50	244	235
new 5	i 4	r 1	668.03	274	217
new 5	i 4	r 16	215.10	296	247
new 5	i 4	r 2	533.88	266	221
new 5	i 4	r 4	402.35	294	231
new 5	i 4	r 8	298.32	284	224
new 5	i 8	r 1	771.03	190	205
new 5	i 8	r 16	282.60	248	234
new 5	i 8	r 2	630.30	191	200
new 5	i 8	r 4	480.72	212	192
new 5	i 8	r 8	374.37	250	226
new 5	i 16	r 1	1012.88	198	213
new 5	i 16	r 16	440.55	256	229
new 5	i 16	r 2	849.12	203	211
new 5	i 16	r 4	687.57	221	208
new 5	i 16	r 8	564.38	222	234
new 5	i 32	r 1	1445.75	192	198
new 5	i 32	r 16	740.90	230	222
new 5	i 32	r 2	1270.40	188	207
new 5	i 32	r 4	1070.65	204	207
new 5	i 32	r 8	924.35	245	216
new 5	i 64	r 1	2334.30	183	199
new 5	i 64	r 16	1357.43	215	216
new 5	i 64	r 2	2162.45	191	195
new 5	i 64	r 4	2024.48	196	214
new 5	i 64	r 8	1776.80	204	217
end
.G2
aed2.g          710956981   9     1     100666  3671      `
.sp 1i
.G1
frame top invis right invis ht 3 wid 4
coord x .5, 32 log x y 0,300
label bot "Minimum Partition Size"
label left "Number of" "Tracks" left .3
ticks bot in at 1,2,4,8,16
ticks left in at 100,200,300
ticks in .05 at 220 "", 240, 260, 280
 "x   0% variation" at 2,100
 "o   5% variation" at 2,75
 "\s-3\(bu\s0  10% variation" at 2,50

copy thru /  "x" at $6*.909,$9 / until "end"
new 0	i 1	r 1	678.83	300	243
new 0	i 1	r 16	180.07	349	261
new 0	i 1	r 2	501.27	324	239
new 0	i 1	r 4	370.65	341	252
new 0	i 1	r 8	256.32	359	257
new 0	i 2	r 1	680.95	352	234
new 0	i 2	r 16	198.78	381	266
new 0	i 2	r 2	558.77	366	245
new 0	i 2	r 4	422.18	380	253
new 0	i 2	r 8	292.13	401	248
new 0	i 4	r 1	733.65	324	236
new 0	i 4	r 16	235.47	352	261
new 0	i 4	r 2	565.12	326	233
new 0	i 4	r 4	426.28	340	238
new 0	i 4	r 8	319.90	373	248
new 0	i 8	r 1	810.60	399	237
new 0	i 8	r 16	300.23	423	271
new 0	i 8	r 2	666.40	393	243
new 0	i 8	r 4	526.82	418	244
new 0	i 8	r 8	399.38	441	243
new 0	i 16	r 1	1017.73	324	241
new 0	i 16	r 16	448.87	380	277
new 0	i 16	r 2	879.48	325	241
new 0	i 16	r 4	700.03	329	249
new 0	i 16	r 8	570.47	360	269
new 0	i 32	r 1	1431.88	385	236
new 0	i 32	r 16	753.92	420	266
new 0	i 32	r 2	1292.90	386	247
new 0	i 32	r 4	1066.88	384	256
new 0	i 32	r 8	918.32	433	267
new 0	i 64	r 1	2375.30	349	238
new 0	i 64	r 16	1431.70	379	280
new 0	i 64	r 2	2114.78	323	234
new 0	i 64	r 4	1940.58	353	240
new 0	i 64	r 8	1716.17	381	239
end
copy thru /  "o" at $6*1.1,$9 / until "end"
new 10	i 1	r 1	615.07	250	232
new 10	i 1	r 16	168.72	285	228
new 10	i 1	r 2	472.90	252	225
new 10	i 1	r 4	333.07	268	224
new 10	i 1	r 8	240.58	278	228
new 10	i 2	r 1	618.85	262	207
new 10	i 2	r 16	190.35	308	253
new 10	i 2	r 2	472.60	289	226
new 10	i 2	r 4	343.23	268	232
new 10	i 2	r 8	248.40	276	216
new 10	i 4	r 1	658.68	229	225
new 10	i 4	r 16	213.88	248	228
new 10	i 4	r 2	522.57	228	232
new 10	i 4	r 4	390.75	238	210
new 10	i 4	r 8	291.53	250	229
new 10	i 8	r 1	759.18	212	207
new 10	i 8	r 16	284.53	239	245
new 10	i 8	r 2	623.43	211	212
new 10	i 8	r 4	478.83	215	223
new 10	i 8	r 8	369.42	233	228
new 10	i 16	r 1	983.18	233	217
new 10	i 16	r 16	426.33	266	239
new 10	i 16	r 2	831.05	236	214
new 10	i 16	r 4	663.93	231	211
new 10	i 16	r 8	539.88	248	228
new 10	i 32	r 1	1414.42	232	220
new 10	i 32	r 16	744.13	248	224
new 10	i 32	r 2	1232.30	214	214
new 10	i 32	r 4	1044.27	234	220
new 10	i 32	r 8	879.68	270	222
new 10	i 64	r 1	2282.35	195	195
new 10	i 64	r 16	1389.63	228	221
new 10	i 64	r 2	2106.90	188	195
new 10	i 64	r 4	1830.90	222	216
new 10	i 64	r 8	1578.98	235	205
end
copy thru /  "\s-3\(bu\s0" at $6,$9 / until "end"
new 5	i 1	r 1	601.87	221	212
new 5	i 1	r 16	157.68	258	240
new 5	i 1	r 2	456.45	226	215
new 5	i 1	r 4	323.75	254	228
new 5	i 1	r 8	230.10	244	248
new 5	i 2	r 1	609.32	216	222
new 5	i 2	r 16	171.98	253	234
new 5	i 2	r 2	473.97	226	221
new 5	i 2	r 4	342.63	246	214
new 5	i 2	r 8	247.50	244	235
new 5	i 4	r 1	668.03	274	217
new 5	i 4	r 16	215.10	296	247
new 5	i 4	r 2	533.88	266	221
new 5	i 4	r 4	402.35	294	231
new 5	i 4	r 8	298.32	284	224
new 5	i 8	r 1	771.03	190	205
new 5	i 8	r 16	282.60	248	234
new 5	i 8	r 2	630.30	191	200
new 5	i 8	r 4	480.72	212	192
new 5	i 8	r 8	374.37	250	226
new 5	i 16	r 1	1012.88	198	213
new 5	i 16	r 16	440.55	256	229
new 5	i 16	r 2	849.12	203	211
new 5	i 16	r 4	687.57	221	208
new 5	i 16	r 8	564.38	222	234
new 5	i 32	r 1	1445.75	192	198
new 5	i 32	r 16	740.90	230	222
new 5	i 32	r 2	1270.40	188	207
new 5	i 32	r 4	1070.65	204	207
new 5	i 32	r 8	924.35	245	216
new 5	i 64	r 1	2334.30	183	199
new 5	i 64	r 16	1357.43	215	216
new 5	i 64	r 2	2162.45	191	195
new 5	i 64	r 4	2024.48	196	214
new 5	i 64	r 8	1776.80	204	217
end
.G2

aed3.g          710956981   9     1     100666  950       `
.sp
.G1
frame top invis right invis ht 3 wid 4
coord x .5, 32 log x y 0,50
label bot "Minimum Partition Size"
label left "CPU Time" "(seconds per" "iteration)" left .3
ticks bot in at 1,2,4,8,16
ticks left in at 10,20,30,40,50
 "x  0% variation" at 2,20
 "o  5% variation" at 2,15
 "\s-3\(bu\s0 10% variation" at 2,10

copy thru %  "x" at $6*.909,$7/32 % until "end"
new 0	i 32	r 1	1431.88	385	236
new 0	i 32	r 16	753.92	420	266
new 0	i 32	r 2	1292.90	386	247
new 0	i 32	r 4	1066.88	384	256
new 0	i 32	r 8	918.32	433	267
end
copy thru %  "\s-3\(bu\s0" at $6*1.1,$7/32 % until "end"
new 10	i 32	r 1	1414.42	232	220
new 10	i 32	r 16	744.13	248	224
new 10	i 32	r 2	1232.30	214	214
new 10	i 32	r 4	1044.27	234	220
new 10	i 32	r 8	879.68	270	222
end
copy thru %  "o" at $6,$7/32 % until "end"
new 5	i 32	r 1	1445.75	192	198
new 5	i 32	r 16	740.90	230	222
new 5	i 32	r 2	1270.40	188	207
new 5	i 32	r 4	1070.65	204	207
new 5	i 32	r 8	924.35	245	216
end
.G2
align.g         710956981   9     1     100666  230       `
.sp 1i
.G1
frame ht 4 wid 4
coord y 0, 4
grid dotted left at 1,2,3,4
grid dotted bot at 1,2,3,4

bullet at 1,1
plus at 2,1
star at 3,1
circle at 4,1
htick at 1,2
vtick at 2,2
square at 3,2
delta at 4,2
box at 1,3
times at 2,3
.G2
boat.g          710956981   9     1     100666  846       `
.G1
frame ht 2.5 wid 3
label left "Displacement" "in Thousands" "of Tons" "(log scale)"
label bot "Length in Feet (log scale)"
coord x 200,1200 y 2,110 log log
ticks left in at 2, 5, 10, 20, 50, 100
ticks right in at 2 "", 5, 10, 20, 50, 100
ticks bot in at 200 "200", 300, 400, 500 "500", 600, 700, 800, 900, 1000 "1000", 1100
# Others:
copy thru ' "\s-3\(pl\s+3" at $1,$2 ' until "end"
	860 59
	716 21.5
	547 7.93
	585 11
	721 17.35
	390 3.46
	512 5.8
	563 8.9
	445 3.6
end
# Subs:
copy thru ' "\s-3\(ci\s+3" at $1,$2 ' until "end"
	219 2.9
	382 6.7
	425 8.25
	560 18.7
	267 2.86
	279 4.3
	360 6.9
end
# Carriers:
copy thru ' "\s-3\(bu\s+3" at $1,$2 ' until "end"
	979 64
	1039 78
	1092 93.4
	820 39.3
end
coord abs x 0,1 y 0,1
"\s-3\(bu\s+3  Submarine" at abs .2,.7
"\s-3\(ci\s+3  Carrier" at abs .2,.6
"\s-3\(pl\s+3  Other" at abs .2, .5
.G2
boat1.g         710956981   9     1     100666  733       `
.G1
frame ht 2.5 wid 3
label left "Displacement" "in Thousands" "of Tons" "(log scale)"
label bot "Length in Feet (log scale)"
coord x 200,1200 y 2,110 log log
# ticks left in at 2, 5, 10, 20, 50, 100
# ticks right in at 2 "", 5, 10, 20, 50, 100
ticks bot in at 200 "200", 300, 400, 500 "500", 600, 700, 800, 900, 1000 "1000", 1100
# Others:
draw plus
	860 59
	716 21.5
	547 7.93
	585 11
	721 17.35
	390 3.46
	512 5.8
	563 8.9
	445 3.6
# Subs:
draw "\s-3\(ob\s0"
	219 2.9
	382 6.7
	425 8.25
	560 18.7
	267 2.86
	279 4.3
	360 6.9
# Carriers:
draw bullet
	979 64
	1039 78
	1092 93.4
	820 39.3

coord abs x 0,1 y 0,1
 "\s-3\(bu\s+3  Submarine" at abs .2,.7
 "\s-3\(ci\s+3  Carrier" at abs .2,.6
 "\s-3\(pl\s+3  Other" at abs .2, .5
.G2

bozo.g          710956981   9     1     100666  146       `
.G1
draw solid
define fit X exp(1.8 + 2.7*$1) X
lx = 0
for ly from 10 to 230 by 10 do X
	line dotted from lx,fit(lx) to ly,fit(ly)
	lx = ly
X
.G2
bug.g           710956981   9     1     100666  258       `
.G1
copy thru { if $1 > 0 then X "x" at 0,0 X }
1
2
3
4
.G2
.G1
copy  thru X 
if 1 then Y "x" at 1,0  Y X
1 2
3 4
.G2
.G1
sh X awk 'BEGIN { print "hello" }' X
sh { awk 'BEGIN { print "goodbye" }' }
.G2
.G1
label left "\&"
sh @ who
who
@
copy "/tmp/hist"
.G2
cars.g          710956981   9     1     100664  1309      `
.G1
frame ht 3 wid 3
label left "Weight" "(Pounds)"  left 1 up 2
label bot "Gallons per Mile"
coord x 0, .10 y 0,5000
ticks left in at 0, 1000, 2000, 3000, 4000, 5000
ticks bot in at 0 "%.2f", .02 "%.2f", .04 "%.2f", .06 "%.2f", .08 "%.2f", .10 "%.2f"
0.0454545 2930
0.0588235 3350
0.0454545 2640
0.0588235 2830
0.0434783 2070
0.04 2650
0.05 3250
0.0666667 4080
0.0555556 3670
0.0384615 2230
0.05 3280
0.0625 3880
0.0526316 3400
0.0714286 4330
0.0714286 3900
0.047619 4290
0.0344828 2110
0.0625 3690
0.0454545 3180
0.0454545 3220
0.0416667 2750
0.0526316 3430
0.0434783 2370
0.0285714 2020
0.0416667 2280
0.047619 2750
0.0333333 2120
0.0555556 3600
0.0625 3870
0.0588235 3740
0.047619 2130
0.0357143 1800
0.047619 2650
0.04 2240
0.0357143 1760
0.0833333 4840
0.0833333 4720
0.0714286 3830
0.0333333 1980
0.0454545 2580
0.0714286 4060
0.0714286 4130
0.0666667 3720
0.0555556 3370
0.05 2830
0.047619 4060
0.0526316 3300
0.0526316 3310
0.0555556 3690
0.0526316 3370
0.0416667 2720
0.0625 4030
0.0714286 3420
0.0357143 2360
0.0294118 1800
0.04 2200
0.0384615 2520
0.0555556 3330
0.0555556 3700
0.0555556 3470
0.0526316 3210
0.0526316 3200
0.0526316 3420
0.0416667 2690
0.0384615 1830
0.0285714 2050
0.0555556 2410
0.0322581 2200
0.0555556 2670
0.04 1930
0.0243902 2040
0.04 1990
0.0434783 2160
0.0588235 3170
.G2

chess.g         710956981   9     1     100666  250       `
.G1
frame ht 2i wid 2i
coord x 0, 8 y 0, 8
grid left from 1 to 7
grid bot from 1 to 7
line from 0,0 to 3.9,3.9 dotted
line from 3.9,0 to 3.9,3.9 dotted
copy thru Z  "$3" at $1.5,$2.5 Z
0 0 1
1 0 2
2 0 3
3 0 4
1 1 5
2 1 6
3 1 7
2 2 8
3 2 9
3 1 10
.G2
cray.g          710956981   9     1     100664  868       `
.EQ
delim $$
.EN
.LP
asdfasdf a;lksdjf l;asdflk ad;lkf jalskdfj a;lsdkfj a;lsdkdfj a;lskdjf a;lskddjf a;lskdjf a;lkdjdf ;alksdjdf a;lskdjf ;alksdjdf 
.G1
frame ht 3 wid 3
coord x 0,6 y 0,20
label left "Run Time in" "Nanoseconds" left .3
ticks left in at 0 "$10 sup 0$", 3 "$10 sup 3$", 6 "$10 sup 6$", 9 "$10 sup 9$", 12 "$10 sup 12$", 15 "$10 sup 15$", 18 "$10 sup 18$"
label bot "Problem Size ($N$)"
ticks bot in at 0 "$10 sup 0$", 1 "$10 sup 1$", 2 "$10 sup 2$", 3 "$10 sup 3$", 4 "$10 sup 4$", 5 "$10 sup 5$", 6 "$10 sup 6$"
label right "Run Time in" "Common Units" right .5
ticks right in at 0 "nanosecond", 3 "microsecond", 6 "millisecond", 9 "second", 12.5 "hour", 13.93 "day", 15.41 "month", 16.5 "year", 18.52 "century"
line from 0,.5 to 6,18.5 solid
line from 0,7.3 to 6,13.3 dashed
 "TRS80 (19,500,000$N$)" at 1.6,10.8
 "Cray 1 (3.0$N sup 3$)" at 2.5,4
.G2
fig1.g          710956981   9     1     100664  466       `
.G1
frame ht 3 wid 5
coord x 0,42 y 0,11.5
ticks bot out from 0 to 40 by 10
ticks bot out from 15 to 35 by 10 ""
ticks top out from 10 to 40 by 5 ""
ticks left off
i=11
"File" at 3,10.7
copy "selforg.d" thru X
  i=i-1
  vtick at $2,i
  bullet at $3,i
  times at $4,i
  circle at $5,i
  line dashed from $2,i to $5,i
  "$1" at 3,i
X
ty=3
copy thru X
    $1 at 33,ty
    "$2" at 37,ty
    ty=ty-.7
X until "xxx"
vtick  OSO
bullet MTF
times  Count
circle Transpose
.G2
fig2.g          710956981   9     1     100664  318       `
.G1
frame ht 3 wid 5
coord x 10,35 y 10,25
ticks bot out at 10, 20, 30
ticks bot out  at 15 "", 25
ticks left out at 10 "10", 15, 20 "20"
copy "selforg.d" thru X plot "$1" size -3 at $4,$3 X
line dashed from 10,10 to 25,25
"Count" at 22.5,11
"MTF" at 12,17.5
"(MTF is superior" size -2 "below the line)"  at 30,13
.G2
geom.g          710956981   9     1     100664  479       `
.G1
frame ht 2 wid 2
coord x 0,100 y 0,100
grid dotted bot from 20 to 80 by 20
grid dotted left from 20 to 80 by 20

"Text above"   above at 50,50
"Text rjust  " rjust at 50,50
bullet at 80,90
vtick  at 80,80
box    at (80,70)
times  at 80, 60

circle at 50,50
circle at 50,80 radius .25
line dashed from 10,90 to 30,90
arrow from 10,70 to 30,90

draw A solid
draw B dashed plus
next A at 10,10
next B at 10,20
next A at 50,20
next A at 90,10
next B at 50,30
next B at 90,30
.G2

log.g           710956981   9     1     100666  152       `
.G1
coord  log log
ticks bot at .1, 1, 10, 100, 1000
ticks left at .1, .2, .5, 1, 2, 5, 10, 20, 50, 100, 200, 500, 1000
1 1
10 10
100 100
1000 1000
.G2
mark.g          710956981   9     1     100664  154       `
.G1 6
ticks left from 30 to 50 by 5
32.875
33
32.125
31.5
34
35.25
35.5
39
40.25
41.25
43.75
43.25
44.25
44.875
47.5
47.125
47.25
47.625
47.375
47.25
.G2
misc.g          710957050   9     1     100666  2233      `
.G1
frame ht 3 wid 4
.G2
.G1
define g / print $1; a($1,999) /
define a / print $1; print $2 /
g(123)
.G2
.G1
ticks left off
1 1
2 2
.G2
.G1
copy  thru X
 "x" at 2,3 X
A
.G2
.G1
graph A
0 0
1 1
graph B "with .w at A.e + (1,0)"
2 2
3 3
graph C "with .n at A.s - (0,1)"
4 4 
5 5
.G2
.G1
1 1
2 2
.G2
.G1
copy  thru X
 "x" at 2,3 X
A
.G2
.G1
copy  thru X
  bullet at $2,$3 X
AK	1	401851
WY	1	469557
VT	1	511456
.G2
.G1
copy  thru X
 "x" at 2,3 X until "xxx"
A
xxx
.G2
.sp 1i
.G1
frame top invis right invis
coord x 0 to 10 y 0 to 5
ticks left in at 0 "bottommost tick", 1,2,3,4,5 "top tick"
ticks bot in at 0 , 2, 4, 6, 8, 10
label bot "this is a" "silly graph"
label left "left side label" "here"
grid bot dotted at 2,4,6,8
grid left dashed at 2.5

1 1
2 1.5
3 2
4 1.5
5 1
6 2
7 2.5
8 3
9 4
10 5
.G2
.G1
coord x 0 to 10 y 0 to 5
ticks left  at 0 "bottommost tick", 1,2,3,4,5 "top tick"
ticks bot at 0 , 2, 4, 6, 8, 10
label bot "this is a" "silly graph"
label left "left side label" "here" "and long as hell"
grid bot dotted at 2,4,6,8
grid left dashed at 2.5, 5

1 1
2 1.5
3 2
4 1.5
5 1
6 2
7 2.5
8 3
9 4
10 5
.G2
.G1
coord x 0 to 10 y 0 to 5
coord other x 0 to 10 y 1 to 6
draw dashed
draw other solid
coord
next at 1, 1
next at 2, 1.5
next at 3, 2
next at 4, 1.5
next at 5, 1
next at 6, 2
next at 7, 2.5
next at 8, 3
next at 9, 4
next at 10, 5
coord other
next at 1, 1
next at 2, 1.5
next at 3, 2
next at 4, 1.5
next at 5, 1
next at 6, 2
next at 7, 2.5 dotted
next at 8, 3 dotted
next at 9, 4 dotted
next at 10, 5
.G2
.G1
plot "abc" at 0,0
plot 123 at 1,1
plot -123 at 2,2
plot 12+3 "%6.2f" at 2,2
.G2
.G1
graph A1
	1,1
	2,2
graph A2 with .Frame.w at A1.Frame.e + (.2,0)
	ticks left off
	1,1
	2,2
.G2
.G1
.1 1
.2 2
.3 3
# can we read stuff with dec pts?
.G2
# excessively wide labels...
.G1
ticks off
label left "fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo"  wid 1
0 0
1 1
.G2
.G1
ticks off
label left "fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo"  wid 0
0 0
1 1
.G2

From doug Wed Jun 24 00:51:26 EDT 1992
This zinged peter at berkeley.
.PS
scale=100
.PE
.G1
draw solid
"0,0" at 0,0
"10,10" at 10,10
.G2
The graph is a disaster.
Better immunize grap.
[Done -- sets scale = 1 before each graph.]

ode1.g          710956981   9     1     100664  446       `
.G1
frame ht 2.5 wid 2.5
coord x 0,1 y 0,1
label bot "Direction field is $y prime = x sup 2 / y$"
label left "$y= sqrt {(2x sup 3 +1)/3}$"
ticks left in 0 at 0,1
ticks bot in 0 at 0,1
len=.04
for i from .01 to .91 by .1 do {
  for j from .01 to .91 by .1 do {
    deriv = i*i/j
    scale=min(1/deriv,1)
    line from i,j to i+scale*len,j+scale*len*deriv
  }
}
draw solid
for i from 0 to 1 by .05 do X
  next at i, exp(log((2*i*i*i+1)/3)/2)
X
.G2
phone.g         710956982   9     1     100664  757       `
.G1
frame ht 2.5 wid 4
label left "Millions of" "Telephones" "(log scale)"
coord x 0,70 y 1,130 log y
ticks left in at 1, 2, 5, 10, 20, 50, 100
ticks bot in at 0 "1900", 10, 20, 30, 40, 50, 60, 70 "1970"
draw solid
0 1.3
1 1.8
2 2.3
3 2.8
4 3.3
5 4.1
6 4.9
7 6.1
8 6.4
9 6.9
10 7.6
11 8.3
12 8.7
13 9.5
14 10
15 10.5
16 11.2
17 11.7
18 12
19 12.6
20 13.2
21 13.8
22 14.2
23 15.3
24 16
25 16.8
26 17.6
27 18.4
28 19.2
29 19.9
30 20.1
31 19.6
32 17.3
33 16.6
34 16.8
35 17.4
36 18.4
37 19.4
38 19.9
39 20.8
40 21.9
41 23.5
42 24.9
43 26.3
44 26.8
45 27.8
46 31.6
47 34.8
48 38.2
49 40.7
50 43
51 45.6
52 48
53 50.3
54 52.8
55 56.2
56 60.1
57 63.6
58 66.6
59 70.8
60 74.3
61 77.4
62 80.9
63 84.4
64 88.7
65 93.6
66 98.7
67 103.7
68 109.2
69 115.2
70 120.2
.G2

pop.g           710956982   9     1     100664  1049      `
.G1
frame ht 3 wid 5
label left "Population" "(in millions)"
label bot "1984 Age"
coord x 0,90 y 0,5000
ticks left in at 0 "0", 1000 "1", 2000 "2", 3000 "3", 4000 "4", 5000 "5"
ticks bot in from 0 to 90 by 10
ticks top in at 4 "1980", 14 "1970", 24 "1960", 34 "1950", 44 "1940", 54 "1930", 64 "1920", 74 "1910", 84 "1900"
draw solid
00 3614
01 3704
02 3629
03 3533
04 3269
05 3223
06 3179
07 3141
08 3162
09 3109
10 3273
11 3394
12 3760
13 3716
14 3580
15 3518
16 3643
17 3782
18 4059
19 4180
20 4223
21 4251
22 4451
23 4387
24 4285
25 4284
26 4199
27 4161
28 4116
29 3977
30 3931
31 3708
32 3786
33 3726
34 3607
35 3712
36 3653
37 2860
38 2902
39 2929
40 2982
41 2598
43 2468
44 2375
45 2325
46 2237
47 2262
48 2242
49 2139
50 2222
51 2163
52 2321
53 2347
54 2295
55 2363
56 2337
57 2367
58 2390
59 2329
60 2312
61 2330
62 2251
63 2160
64 2073
65 2008
66 1931
67 1913
68 1904
69 1813
70 1763
71 1678
72 1621
73 1516
74 1439
75 1371
76 1261
77 1208
78 1111
79 1028
80  951
81  828
82  872
83  723
84  640
85  566
86  527
87  477
88  412
89  350
.G2

pop1.g          710956982   9     1     100664  673       `
.G1
.nf
frame ht 4 wid 5
label left "Population" "(Millions)"
label bot "Rank In Population"
label right "Representatives"
coord pop x 0,51 y .18e6,30e6 log y
coord rep x 0,51 y .3,100 log y
coord abs x 0,51 y 0,1
ticks left in at pop .3e6 ".3", 1e6 "1", 3e6 "3", 10e6 "10", 30e6 "30"
ticks bot out at pop 1, 50
ticks right in at rep 1, 2, 5, 10, 20, 50, 100
define PlotState X
  thisrank=thisrank-1
   bullet at pop (thisrank,$3)
   square at rep (thisrank,$2)
  next at rep (thisrank, zlc/thisrank)
   "\s-4$1\s+4" at abs thisrank, .05
X
draw solid
zlc=435/4.5 #Zipf's Law Constant: Total reps / 50th Harmonic number
thisrank=51
copy "states.d" through PlotState
.fi
.G2

popage1.g       710956982   9     1     100664  96        `
.G1
label left "Population" "(in millions)"
label bot "1984 Age"
draw solid
copy "popage.d"
.G2
sin.g           710956982   9     1     100664  81        `
.G1
draw solid
pi=3.1415926
for i from 0 to 1 by .1 do X next at i, sin(i) X
.G2

states.g        710956982   9     1     100664  3629      `
.G1
define PopTicks2 X
ticks $1 in at 0.5e6 ".5", 1e6 "1", 2e6 "2", 5e6 "5",\
	10e6 "10", 20e6 "20"
X
define PopTicks3 X
ticks $1 in at 0.3e6 ".3", 1e6 "1", 3e6 "3", 10e6 "10", 30e6 "30"
X
frame invis ht 1 wid 5 bottom solid
label bot "Populations (in Millions) of the 50 States"
coord x 300000, 30000000 y 0, 1 log x
PopTicks2(bot)
ticks left off
copy "states.d" thru X vtick at ($3,.5) X
.G2
.G1
frame invis ht 1 wid 5 bottom solid
label bot "Populations (in Millions) of the 50 States"
coord x 300000, 30000000 y 0, 1000 log x
PopTicks2(bot)
ticks left off
copy "states.d" thru X bullet at ($3,200+600*rand()) X
.G2
.G1
frame ht 4 wid 5
label left "Rank in" "Population"
label bot "Population (Millions)"
minx=300000
coord x minx,30000000 y 0,51 log x
PopTicks2(bot)
ticks left out at 1, 50
thisy=51
define PlotState X
  thisy=thisy-1; thisx=$3
   bullet at (thisx, thisy)
   "\s-4$1\s+4" at (thisx*1.10, thisy)
  line from (minx,thisy) to (thisx,thisy)
X
copy "states.d" thru PlotState
.G2
.bp
.G1
frame ht 4 wid 5
label left "Rank in" "Population"
label bot "Population in Millions (Line is Zipf's Law)"
minx=300000
coord x minx,52000000 y 0,51 log x
PopTicks2(bot)
ticks bot out at 50e6 "50"
ticks left out at 1, 50
zlc=50200000 #Zipf's Law Constant: (Sum of pops)/50th Harmonic number
thisy=51
define PlotState X
  thisy=thisy-1; thisx=$3
   bullet at (thisx, thisy)
   "\s-4$1\s+4" at (thisx*1.10, thisy)
  line from (minx,thisy) to (zlc/thisy,thisy)
X
copy "states.d" thru PlotState
.G2
.G1
frame ht 4 wid 5
label left "Rank in" "Population"
label bot "Population in Millions (Line is Zipf's Law)"
minx=300000
coord x minx,52000000 y 0,51 log x
PopTicks2(bot)
ticks bot out at 50e6 "50"
ticks left out at 1, 50
zlc=50200000 #Zipf's Law Constant: (Sum of pops)/50th Harmonic number
thisy=51
draw solid
define PlotState X
  thisy=thisy-1; thisx=$3
   bullet at (thisx, thisy)
   "\s-4$1\s+4" at (thisx*1.10, thisy)
  next at (zlc/thisy,thisy)
X
copy "states.d" thru PlotState
.G2
.bp
.G1
.nf
frame ht 4 wid 5
label left "Population" "in Millions" bullet
label bot "Rank In Population"
label right "Representatives" square
coord pop x 0,51 y .18e6,30e6 log y
coord rep x 0,51 y .3,100 log y
coord abs x 0,51 y 0,1
ticks left in at pop .3e6 ".3", 1e6 "1", 3e6 "3", 10e6 "10", 30e6 "30"
ticks bot out at pop 1, 50
ticks right in at rep 1, 2, 5, 10, 20, 50, 100
define PlotState X
  thisrank=thisrank-1
   bullet at pop (thisrank,$3)
   square at rep (thisrank,$2)
  next at rep (thisrank, zlc/thisrank)
X
draw solid
zlc=435/4.5 #Zipf's Law Constant: Total reps / 50th Harmonic number
thisrank=51
copy "states.d" through PlotState
 "Zipf's Law" at abs (20, .4)
.fi
.G2
.DS
Include statepop.l here as soon as .e bug is fixed
.DE
.DS
Other plots of population
  Histogram
  Decreasing rank
  Cumulative (% of states <x)
.DE
.bp
.G1
frame ht 3 wid 5
label left "Representatives" left .3
label bot "Population (Millions)"
coord x 300000, 30000000 y .5, 50 log log
ticks left in at 1, 2, 5, 10, 20, 50
PopTicks3(bot)
copy "states.d" thru X bullet at ($3,$2) X
.G2
.G1
frame ht 3 wid 5
label left "Population per" "Representative" left .3
label bot "Population (Millions)"
coord x 300000, 30000000 y 380000, 700000 log x
ticks left in from 400000 to 700000 step 100000
PopTicks3(bot)
copy "states.d" thru X "\s-3$1\s+3" at ($3,$3/$2)X
.G2
.G1
frame ht 3 wid 5
label left "Population per" "Elector" left .3
label bot "Population (Millions)"
coord x 300000, 30000000 y 100000, 520000 log x
ticks left in from 100000 to 500000 step 100000
PopTicks3(bot)
copy "states.d" thru X "\s-3$1\s+3" at ($3,$3/($2+2)) X
.G2
.bp
.DS
XXX More
.DE

tel.g           710956982   9     1     100666  243       `
.G1
i=0
copy thru / bullet at i=i+1,$1; $2 ljust at i+.1,$1 /
7518,	"tom cargill"
2879,	"jane elliott"
6262,	"andrew hume"
6021,	"brian kernighan"
5499,	"bart locanthi"
5213,	"dave presotto"
7393,	"bjarne stroustrup"
5292,	"chris van wyk"
.G2

testgraph.g     710956982   9     1     100664  199       `
.G1
graph A
  copy "/usr/jlb/grap/man/400mpairs.d"
graph B "with .w at A.e + (1,0)"
  copy "/usr/jlb/grap/man/400mpairs.d"
graph C "with .n at A.s - (0,1)"
  copy "/usr/jlb/grap/man/400mpairs.d"
.G2

ticks.g         710956982   9     1     100666  850       `
.G1
ticks left in
0 0
1 1
.G2
.G1
coord x 0, 1 y -50, 120
ticks bot off
ticks left out from -50 to 120 by 10
.G2
.G1
ticks off
0 0
1 1
.G2
.G1
ticks top right
0 0
1 1
.G2
.G1
ticks bot top left right
0 0
1 1
.G2
.G1
ticks out bot top left right
0 0
1 1
.G2
.G1
ticks left off
0 0
1 1
.G2
.G1
ticks left off top
0 0
1 1
.G2

.G1
ticks bot at 0,1
ticks left at 0,1
0 0
1 1
.G2
.G1
ticks top out
ticks right out
0 0
1 1
.G2
.G1
ticks right in 0 at 0, 1
0 0
1 1
.G2
.G1
frame invis
coord x 1956.5, 1966.5 y 0, 50
tick bot from 1957.5 to 1964.5
.G2

grid stuff:



"grid bottom" without iterator turns off the grid lines!

this is a feature, not a bug.
BUT:  if ticks off is moved after the iterator, this will fail.
that is a bug

.G1
grid left ticks off from 0 to 1 by .25
grid bottom
0 0
1 1
.G2

.G1
grid left off at 0, .5, 1
ticks bottom
0 0
1 1
.G2
ticktest.g      710956982   9     1     100666  357       `
.G1
define tt X
	frame ht .5 wid 3
	ticks left off
	coord x $1,$2 y $1,$2 $3
	$1,$1
	$2,$2
	label right "$1 $2 $3"
X
define ll X log log X
.G2
.G1
tt(1, 5, ll)
.G2
.G1
tt(1.1, 4.9, ll)
.G2
.G1
tt(.99, 5.01, ll)
.G2
.G1
tt(5, 20, ll)
.G2
.G1
tt(6, 21, ll)
.G2
.G1
tt(79, 81, ll)
.G2
.G1
tt(1, 1000000, ll)
.G2
.G1
tt(1.1, 50.1, ll)
.G2
.G1
-10 -10
10 10
.G2

usapop.g        710956982   9     1     100664  565       `
.G1
coord x 1785,1955 y 0,160
copy "usapop.d"
define fit X 35 + 1.4*($1-1870) X
line from 1850,fit(1850) to 1950,fit(1950)
.G2
.G1
coord x 1785,1955 y 3,160 log y
copy "usapop.d"
define fit X exp(0.75 + .012*($1-1800)) X
line from 1790,fit(1790) to 1920,fit(1920)
.G2
.G1
define PowerGraph Y
define newx X exp(power*(log(($1-1600)/100))) X
ticks bot out at newx(1800) "1800", newx(1900) "1900",\
		 newx(1950) "1950"
copy "usapop.d" thru X
  "\s-5\(bu\s+5" at newx($1),$2
X
Y
.G2
.bp
.G1
power=5
PowerGraph
.G2
.G1
power=6
PowerGraph
.G2
.G1
power=7
PowerGraph
.G2

heart.g         710956982   9     1     100666  317       `
.G1
148
120
120
100
96
96
92
96
92
92
96
88
92
96
92
88
92
100
88
92
label "Heartbeat at 15-Second Intervals" "After 55 Rope Jumps (circle)" "And After 91 Jumps (square)"
ticks bot at 4 "1 min.", 8 "2", 12 "3", 16 "4", 20 "5"
new square
160
140
128
116
116
108
104
104
100
100
100
96
92
100
96
104
96
100
100
100
.G2

nflqb.d         660326298   9     1     100666  527       `
theismann	washington	252	161	2033	13	9
d.white		dallas		247	156	2079	16	12
montana		san.francisco	346	213	2613	17	11
mcmahon		chicago		210	120	1501	9	7
bartkowski	atlanta		262	166	1905	8	11
ferragamo	los.angeles	209	118	1609	9	9
jaworski	philadelphia	286	167	2076	12	12
kramer		minnesota	308	176	2037	15	12
dickey		green.bay	218	124	1790	12	14
brunner		new.york	298	161	2017	10	9
stabler		new.orleans	189	117	1343	6	10
lomax		st.louis	205	109	1367	5	6
williams	tampa.bay	307	164	2071	9	11
danielson	detroit		197	100	1343	10	14

pie.d           660326298   9     1     100666  43        `
1  "abc"
4  "def"
5  "ghi"
3  "16"
8  "32"

popage.d        660326298   9     1     100664  801       `
00 3.614
01 3.704
02 3.629
03 3.533
04 3.269
05 3.223
06 3.179
07 3.141
08 3.162
09 3.109
10 3.273
11 3.394
12 3.760
13 3.716
14 3.580
15 3.518
16 3.643
17 3.782
18 4.059
19 4.180
20 4.223
21 4.251
22 4.451
23 4.387
24 4.285
25 4.284
26 4.199
27 4.161
28 4.116
29 3.977
30 3.931
31 3.708
32 3.786
33 3.726
34 3.607
35 3.712
36 3.653
37 2.860
38 2.902
39 2.929
40 2.982
41 2.598
43 2.468
44 2.375
45 2.325
46 2.237
47 2.262
48 2.242
49 2.139
50 2.222
51 2.163
52 2.321
53 2.347
54 2.295
55 2.363
56 2.337
57 2.367
58 2.390
59 2.329
60 2.312
61 2.330
62 2.251
63 2.160
64 2.073
65 2.008
66 1.931
67 1.913
68 1.904
69 1.813
70 1.763
71 1.678
72 1.621
73 1.516
74 1.439
75 1.371
76 1.261
77 1.208
78 1.111
79 1.028
80 0.951
81 0.828
82 0.872
83 0.723
84 0.640
85 0.566
86 0.527
87 0.477
88 0.412
89 0.350

selforg.d       660326298   9     1     100664  345       `
P1 27.52   24.49   33.16   40.43
P2 24.514  23.9439 29.4393 36.3738
P3 15.4188 15.5641 17.6325 26.094
P4 17.0055 17.3481 19.7293 26.1934
T1 19.7516 22.1783 23.6115 31.2972
T2 22.6627 23.9578 27.2349 32.2671
T3 17.0727 17.5355 19.9309 27.5124
T4 14.9489 16.8959 17.5596 25.8458
T5 12.5301 15.2136 14.4813 17.85
T6 14.6245 17.6623 16.8327 22.0088

states.d        660326298   9     1     100664  658       `
AK	1	401851
WY	1	469557
VT	1	511456
DE	1	594338
ND	1	652717
SD	1	690768
MT	2	786690
NV	2	800493
NH	2	920610
ID	2	943935
RI	2	947154
HI	2	964691
ME	2	1124660
NM	3	1302894
UT	3	1461037
NE	3	1569825
WV	4	1949644
AR	4	2286435
KS	5	2363679
MS	5	2520638
OR	5	2633105
AZ	5	2718215
CO	6	2889964
IA	6	2913808
OK	6	3025290
CT	6	3107576
SC	6	3121820
KY	7	3660777
AL	7	3893888
MN	8	4075970
WA	8	4132156
LA	8	4205900
MD	8	4216975
TN	9	4591120
WI	9	4705767
MO	9	4916686
VA	10	5346818
GA	10	5463105
IN	10	5490224
MA	11	5737037
NC	11	5881766
NJ	14	7364823
MI	18	9262078
FL	19	9746324
OH	21	10797630
IL	22	11426518
PA	23	11863895
TX	27	14229191
NY	34	17558072
CA	45	23667902
tgs.g           710956982   9     1     100666  1396      `
.G1
frame ht 8.5 wid 6.5
label "bullet = leadout" "dot = advice" "$LAB"
define pair {
	next advice  at $1, $2
	next leadout at $1, $3
}
draw advice solid dot
draw leadout solid bullet
copy  through pair
   0      0.0000      0.0000
   1      3.8446      2.2820
   2      6.8613      5.2640
   3     15.5032     11.9760
   4     23.5287     18.9470
   5     35.5911     32.8980
   6     42.5831     41.8500
   7     49.0456     46.4930
   8     55.4794     54.2640
   9     59.7858     59.6080
  10     65.5956     67.1580
  11     70.3374     72.2450
  12     76.7045     79.6400
  13     84.5433     87.2140
  14     97.3175    102.6750
  15    103.2057    107.8350
  16    110.7603    114.4590
  17    129.3471    133.7480
  18    138.3678    143.0620
  19    140.2052    145.6690
  20    142.4420    147.6090
  21    144.2813    149.4720
  22    148.3307    152.9180
  23    164.1289    168.5350
  24    170.8543    175.2910
  25    179.6558    184.4410
  26    184.3119    188.7410
  27    189.3377    195.1720
  28    196.2046    203.4020
  29    198.1650    205.8740
  30    201.6464    209.8080
  31    204.8942    213.6610
  32    208.7883    218.2040
  33    211.8587    221.3730
  34    220.3697    228.7200
  35    223.3787    231.2580
  36    231.4919    239.9590
  37    241.1845    249.1980
  38    249.7512    256.5760
  39    251.8084    259.2210
  40    254.1190    260.7890
.G2
usapop.d        660326298   9     1     100664  198       `
1790   3.93
1800   5.31
1810   7.24
1820   9.64
1830  12.87
1840  17.07
1850  23.19
1860  31.44
1870  38.58
1880  50.16
1890  62.95
1900  76.0
1910  92.0
1920 105.7
1930 122.8
1940 132.2
1950 150.7
Compare         660326298   9     1     100777  204       `
echo hiding stderr unless it is different 1>&2
for i in $*
do
	echo $i:
	/usr/bwk/grap/a.out  $i >foo1 2>foo1.2
	/usr/bin/grap $i >foo2 2>foo2.2
	diff -b foo2 foo1 | ind
	diff -b foo2.2 foo1.2 | ind
done
sprintf.g       710956982   9     1     100666  448       `
orgate!orux6!cam (charles meeks)
.G1
ticks off
plot sprintf("cats = %g Dogs = %g rain = %g",5,3,1) at (5,10)
.G2
.G1
variance = 1.234567
stddev = 4.56789
plot sprintf("var = %g, sd = %.2f", variance, stddev) at .5,.5
plot sprintf("var = %g", variance) ljust at .05,.05
plot sprintf("nonsense = %g", variance + stddev) rjust at .95,.95
0 0
1 1
.G2

.G1
a = 1
b = 2
print sprintf("stderr: a=%g, b=%g", a, b)
print sprintf("more stderr: a=%g", a)
.G2
claire.g        710956982   9     1     100666  1004      `
.G1
.ft H
draw pt solid
draw il dashed
coord il  x -5,30  y 0,7
coord pt  x -5,30  y -5,30
grid dotted bot from 0 to 25 by 5
grid dotted left from pt 0 to 25 by 5
ticks bot in 0 at -5,30
ticks left in 0 at pt -5,30
ticks right out 0 from il 0 to 7 by 1
label top "Input/Output Power Transfer At 100MHz"
label bot "Input Power" "(dBm)"
label left "Output Power" "(dBm)" left .15
label right "Insertion Loss" "(dB)"

# it's a bother that the the until xxx bit is really needed:

copy thru X
  next pt at pt $1,$2
  next il at il $1,$3
X until "xxx"
0       -.48    .48
7       6.31    .69
8       7.26    .74
9       8.26    .74
10      9.34    .66
11      10.34   .66
12      11.29   .71
13      12.27   .73
14      13.36   .64
15      14.35   .65
16      15.30   .70
17      16.23   .77
18      17.18   .82
19      18.16   .84
20      19.22   .78
21      20.17   .83
22      21.04   .95
23      21.84   1.16
24      22.68   1.32
25      23.41   1.59
26      24.02   1.98
27      24.54   2.45
xxx
.ft
.G2
trosino.g       710956982   9     1     100666  604       `
.G1
frame invis ht 3 wid 4.5 left solid bot solid
coord x 0,4800 y 0.0,1.1
label left "Magnitude" left .2
label bottom "Frequency"
ticks left out at 0 "0", .1 "", .2 "", .3 "", .4 "", .5 "0.5"
ticks left out at .6 "", .7 "", .8 "", .9 "", 1 "1.0", 1.1 ""
ticks bot out at 0 "0", 600 "", 1200 "1200", 1800 "", 2400 "2400"
ticks bot out at 3000 "", 3600 "3600", 4200 "", 4800 "4800"
# draw dotted
pi=4.*atan2(1.0,1.0)
t=1.0/9600
h0=-0.078125
h2=-0.171875
h4=-0.625
for fx from 0 to 4800 by 10 do {
   w=2.0*pi*fx*t
   h=-2.0*(h0*sin(5*w)+h2*sin(3*w)+h4*sin(w))
   "." at fx,h
}
line from 0,1 to 4800,1
.G2
karen.g         710956982   9     1     100666  1755      `
.ps 18
.vs 20
.G1
.ft H
frame ht 5 wid 6.5
coord x 0,6.83 y -.05,1.1
ticks bot in from 1 to 6 by 1 "\\v'.5'%g\\v'-.5'"
ticks left in from 0 to 1 by .5 
draw solid
 .000000     .012300
 .013333     .003200
 .026667     .004900
 .040000     .002200
 .053333    -.001200
 .066667     .000700
 .080000     .002200
 .093333    -.003600
 .106667    -.006900
 .120000    -.009900
 .133333    -.008100
 .146667    -.008900
 .160000    -.012800
 .173333    -.005200
 .186667     .003300
 .200000     .004400
 .213333    -.002400
 .226667    -.007700
 .240000    -.007500
 .253333    -.006000
 .266667    -.008700
 .280000    -.010000
 .293333    -.013200
 .306667    -.014400
 .320000    -.015600
 .333333    -.012300
 .346667    -.002700
 .360000     .005800
 .373333     .008700
 .386667     .006700
 .400000     .008800
 .413333     .011400
 .426667     .012500
 .440000     .011500
 .453333     .011100
 .466667     .010300
 .480000     .010200
 .493333     .009400
 .506667     .008600
 .520000     .005300
 .533333     .001000
 .546667    -.003400
 .560000    -.002000
 .573333    -.001400
 .586667    -.002800
 .600000     .001400
 .613333     .002000
 .626667     .000900
 .640000    -.000300
 .653333     .001300
 .666667     .006100
 .680000     .008000
 .693333     .009000
 .706667     .006300
 .720000     .008800
 .733333     .010200
 .746667     .010200
 .760000     .006400
 .773333     .004700
 .786667     .006700
 .800000     .006300
 .813333     .003300
 .826667     .002200
 .840000     .005400
 .853333     .014800
 .866667     .016300
 .880000     .014800
 .893333     .011300
 .906667     .008800
 .920000     .008900
 .933333     .002800
 .946667    -.005700
 .960000    -.006900
 .973333    -.003100
 .986667     .004700
.ft
.G2
.vs
.ps


xy_gg.g         710956982   9     1     100666  546       `
# The names x_gg, y_gg, and xy_gg are used by grap as pic macros
# to map the x, y and xy coordinates into pic.  so you can use them
# too in pic constructs.  the names are not the most mnemonic, but
# at least they seem to work.  i ought to document this, or invent
# a better name...


.G1
0 0
1 1
2 4
3 9
4 16
pic spline from x_gg(0), y_gg(0) to x_gg(1), y_gg(1) to x_gg(2), y_gg(4) to x_gg(3), y_gg(9) to x_gg(4), y_gg(16)
.G2


.G1
0 0
1 1
2 4
3 9
4 16
pic spline from xy_gg(0,0) to xy_gg(1,1) to xy_gg(2,4) to xy_gg(3,9) to xy_gg(4,16)
.G2
axes.g          700421447   9     1     100666  616       `
.sp 1i
Alix -- This is pretty crude, but it will at least show you
what i had in mind.  you can fiddle it until it's good enough
or you get totally frustrated.  (We should have allowed for this
case originally.)

brian

.G1
frame ht 6 wid 6 invis	# turn off normal frame if you don't want it
#data...

-5 -5
0 0
5 5

line from -5,0 to 5,0	# x axis
line from 0,-5 to 0,5	# y axis
ticks off		# turn off automatic ticks
for i from -5 to 5 by 1 do {	# manual ticks;  adjust to taste
	line from i,-.05 to i,0.05
	plot sprintf("%g", i) below at i,0

	line from -.05,i to 0.05,i
	plot sprintf("  %g", i) ljust at 0,i
}
.G2
Compare.p       710957242   9     1     100777  216       `
echo hiding stderr unless it is different 1>&2
for i in $*
do
	echo $i:
	/usr/bwk/grap/a.out  $i | pic >foo1 2>foo1.2
	/usr/bin/grap $i | pic >foo2 2>foo2.2
	diff -b foo2 foo1 | ind
	diff -b foo2.2 foo1.2 | ind
done