// Drawing a Pie Chart
void setup() {
size(600, 600);
background(255);
noLoop();
} // setup()
void draw() {
// The data
int humanities = 6;
int socSciences = 2;
int sciences = 11;
int undecided = 1;
int total = humanities + socSciences + sciences + undecided;
// Compute percentages
float pHumanities = float(humanities)/total;
float pSocSciences = float(socSciences)/total;
float pSciences = float(sciences)/total;
float pUndecided = float(undecided)/total;
println("%Hum = " + pHumanities);
println("%Soc = " + pSocSciences);
println("%Sci = " + pSciences);
println("%Und = " + pUndecided);
// Draw the pie chart
float x = width/2, y = height/2, sz = height/2;
float startAngle = 0, stopAngle;
float lx = 20, ly = height/2, lsz = 20;
// Draw the pie for humanities
fill(219, 62, 255);
stopAngle = 2*PI*pHumanities;
arc(x, y, sz, sz, startAngle, stopAngle);
// Legend
square(lx, ly, lsz);
fill(0);
text("Humanities", lx + lsz+ 5, ly+lsz);
// Draw the pie for Social Sciences
fill(6, 183, 128);
startAngle = stopAngle;
stopAngle = startAngle + 2*PI*pSocSciences;
arc(x, y, sz, sz, startAngle, stopAngle);
// Legend
ly = ly + lsz+20;
square(lx, ly, lsz);
fill(0);
text("Social Sciences", lx + lsz+ 5, ly+lsz);
// Draw the pie for sciences
fill(252, 190, 74);
startAngle = stopAngle;
stopAngle = startAngle + 2*PI*pSciences;
arc(x, y, sz, sz, startAngle, stopAngle);
// Legend
ly = ly + lsz+20;
square(lx, ly, lsz);
fill(0);
text("Sciences", lx + lsz+ 5, ly+lsz);
// Finally, undecided
fill(255, 88, 88);
startAngle = stopAngle;
stopAngle = startAngle + 2*PI*pUndecided;
arc(x, y, sz, sz, startAngle, stopAngle);
// Title
fill(0);
textSize(18);
text("2022 Declared UG Majors in Sciences at Bryn Mawr College", 80, 100);
text("Source: Bryn Mawr Factbook (3/16/2022)", 120, 120);
// Legend
textSize(12);
ly = ly + lsz+20;
square(lx, ly, lsz);
fill(0);
text("Undecided", lx + lsz+ 5, ly+lsz);
// Signature
text("Created by Deepak Kumar", 400, 450);
} // draw()