# PieChart3
# Data from a file
from Processing import *
window(500, 500)
background(255)

# Center and size of chart
x = width()/2 - 100
y = height()/2
w = 200

# Init Legend
kx = x + 0.75*w
ky = y - 0.5*w
kw = 20
ks = 10

# Load and normalize data
f = open("survey.txt", "r")
s = f.readlines()
f.close()

labels = [e.strip() for e in s[1].split(",")]
data   = [float(e) for e in s[0].split(",")]
total  = sum(data)
data   = [100.0*(e / total) for e in data]

# Generate pie chart
angle = 0
currentShade = 0
deltaShade = 255.0/(len(data)-1)

i = 0
while i < len(data):
    # Draw the ith Pie
    fill( color(currentShade,0,0) )
    theta = angle + data[i]*2*PI/100.0
    arc(x, y, w, w, angle, theta)
    angle = theta
    currentShade += deltaShade
    
    ky = ky + 2*kw
    rect(kx, ky, kw, kw)
    fill(0)
    text(labels[i], kx+kw+ks, ky+kw)
    
    i += 1
