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
|
% --- start of displayed preamble in the book ---
input graph
numeric r,last; path c,w;
r:=5; c:=fullcircle scaled 2r; last:=0.0;
def wedge (expr lang,value,perc) =
numeric current,n,half,xoff,yoff;picture p;
n:=perc*3.6;
current:=last+n; half:=last+(n/2);
w:=buildcycle((0,0)--(2r,0) rotated last,c, (2r,0)--(0,0)
rotated current);
gfill w withcolor (0,0.8-(perc/100),0);
gdraw w;
if perc > 5: p=lang infont defaultfont scaled defaultscale;
glabel(image(unfill bbox p; draw p),3/4r*dir(half));
fi;
last:=current;
enddef;
% --- end of displayed preamble in the book ---
% graphic converted to gray in book using 'color2gray'
defaultfont:="ptmr8r";
warningcheck:=0;
beginfig(1)
draw begingraph(3in,3in);
defaultscale:=0.7;
gdata ("langs.dat",c, wedge(c1, (scantokens c2),
(scantokens c3)););
autogrid(,);
frame withcolor white;
endgraph scaled 0.7;
endfig;
end;
|