!<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