blob: aecb95c1437346c341ed403f39a2d3efee981a29 (
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
|
%!PS EPSF %-Adobe-2.0
%%Title: Blue Book Program 14, on page 187
%%Creator: Adobe Systems Incorporated
%%CreationDate: Thu Dec 28 18:14:18 PST 1989
%%BoundingBox: -215 -215 215 195
%%EndComments
/PieDict 24 dict def
PieDict begin
/DrawSlice
{ /grayshade exch def
/endangle exch def
/startangle exch def
/thelabel exch def
newpath 0 0 moveto
0 0 radius startangle endangle arc
closepath
1.415 setmiterlimit
gsave
grayshade setgray
fill
grestore
stroke
gsave
startangle endangle add 2 div rotate
radius 0 translate
newpath
0 0 moveto labelps .8 mul 0 lineto stroke
labelps 0 translate
0 0 transform
grestore
itransform
/y exch def /x exch def
x y moveto
x 0 lt
{ thelabel stringwidth pop neg 0 rmoveto }
if
y 0 lt { 0 labelps neg rmoveto }if
thelabel show
} def
/findgray
{ /i exch def /n exch def
i 2 mod 0 eq
{ i 2 div n 2 div round add n div }
{ i 1 add 2 div n div }
ifelse
} def
end
/DrawPieChart
{ PieDict begin
/radius exch def
/ycenter exch def /xcenter exch def
/PieArray exch def
/labelps exch def /titleps exch def
/title exch def
gsave
xcenter ycenter translate
/Helvetica findfont titleps scalefont setfont
title stringwidth pop 2 div neg radius neg
titleps 3 mul sub moveto
title show
/Helvetica findfont labelps scalefont setfont
/numslices PieArray length def
/slicecnt 0 def
/curangle 0 def
PieArray
{ /slicearray exch def
slicearray aload pop
/percent exch def
/label exch def
/perangle percent 360 mul def
/slicecnt slicecnt 1 add def
label curangle curangle perangle add
numslices slicecnt findgray DrawSlice
/curangle curangle perangle add def
} forall
grestore
end
} def
(January Pie Sales) 24 12
[ [(Blueberry) .12 ]
[(Cherry) .30 ]
[(Apple) .26 ]
[(Boston Cream) .16 ]
[(Other) .04 ]
[(Vanilla Cream) .12 ]
] 0 0 140 DrawPieChart
showpage
|