making a pie chart

yves COPPE yvescoppe at skynet.be
Mon Nov 11 14:42:43 EST 2002


>yves COPPE wrote:
>
>>  I have a list of ages with percent :
>>
>>  0-10 : 15
>>  11-20 : 20
>>  21-30 : 17
>>  ...
>>
>>
>>  does anyone know the script how to make a pie chart with this 
>>suite of data ?
>
>
>on mouseUp
>   put fld 1 into tData
>   put "20,20,120,120" into tRect
>   put "blue,green,red,yellow,purple,orange,gray" into tColors
>   --
>   MakePieChart tData, tRect, tColors
>end mouseUp
>
>on MakePieChart pData, pRect, pColors
>   lock screen
>   -- Set up template object:
>   set the style of the templategraphic to "oval"
>   set the rect of the templategraphic to pRect
>   set the filled of the templategraphic to true
>   --
>   -- Create legend field:
>   create field "PieLegend"
>   put it into tLegendField
>   set the showborder of tLegendField to false
>   set the locktext of tLegendField to true
>   set the traversalon of tLegendField to false
>   --
>   -- Create pie slices:
>   put 0 into tCounter
>   put empty into tNuObj
>   repeat for each line tLine in pData
>     add 1 to tCounter
>     if tNuObj is not empty then put tNuObj into tOldObj
>     create grc
>     put it into tNuObj
>     set the arcAngle of tNuObj to (360 * (last word of tLine/100) )
>     if tCounter > 1 then
>       set the startAngle of tNuObj to (the arcAngle of tOldObj)+(the
>startAngle of tOldObj)
>     end if
>     put item tCounter of pColors into tColor
>     set the backgroundcolor of tNuObj to tColor
>     -- Make legend entry:
>     put "      "&word 1 of tLine into line tCounter of field "PieLegend"
>     set the backgroundcolor of char 1 to 4 of line tCounter of field
>"PieLegend" to tColor
>   end repeat
>   -- Position legecd field:
>   set the height of field "PieLegend" to the formattedheight of tLegendField
>   set the topleft of field "PieLegend" to the topright of grc 1
>   choose browse tool
>   unlock screen
>end MakePieChart
>


thanks
-- 
Greetings.

Yves COPPE

Email : yvescoppe at skynet.be



More information about the use-livecode mailing list