// Drawing a Pie Chart of BMC Science Majors
// The data...
int[] nMajors;
String[] majors;
void setup() {
size(900, 600);
background(255);
textSize(12);
noLoop();
// Read data from data file into data arrays
// Read the data file into lines[]
String[] lines = loadStrings("SciMajors.txt");
for (String line : lines) {
println(line);
}
println("There were " + lines.length + " data items.");
// Crate the data arrays
majors = new String[lines.length];
nMajors = new int[lines.length];
// Parse the data in lines into the data arrays
// Parse the lines into data arrays
for (int i=0; i < lines.length; i++) {
// Parse the ith line into data
String[] pieces = split(lines[i], ",");
majors[i] = pieces[0];
nMajors[i] = int(pieces[1]);
}
} // setup()
void draw() {
float minX = width*0.05;
float maxX = width*0.95;
float minY = height*0.05;
float maxY = height*0.95;
float N = nMajors.length;
float barSpace = (maxX - minX)/N;
float barW = barSpace*0.8;
// Draw the graph
float x = minX;
noFill();
beginShape();
for (int i = 0; i < N; i++) {
// Plot the ith data bar
float h = map(nMajors[i], 0, 100, 0, maxY-minY);
float y = maxY - h;
vertex(x, y);
x = x + barSpace;
}
endShape();
} // draw()