var table,years,majors,employed;
var year_compsc = new Array();
var totalcompsc = new Array();
var year_chemsc = new Array();
var totalchemsc = new Array();
var year_mechsc = new Array();
var totalmechsc = new Array();
var year_elecsc = new Array();
var totalelecsc = new Array();
var year_other = new Array();
var totalother = new Array();
function preload() {
table = loadTable('graduates.csv', 'csv', 'header');
}
function setup() {
//count the columns
createCanvas(1000,1000);
majors = table.getColumn('Major');
total = table.getColumn('Total');
years = table.getColumn('Year');
employed = table.getColumn('Employed');
var j =0, k = 0, l = 0, m = 0, n =0;
for(var i =0; i
2001){
if(majors[i]=="Computer Science and Math") {
year_compsc[j] = years[i];
totalcompsc[j] = total[i];
print(totalcompsc[j]);
j++;
}
if(majors[i] == "Chemical Engineering") {
year_chemsc[k] = years[i];
totalchemsc[k] = total[i];
k++;
}
if(majors[i] == "Mechanical Engineering") {
year_mechsc[l] = years[i];
totalmechsc[l] = total[i];
l++;
}
if(majors[i] == "Economics") {
year_elecsc[m] = years[i];
totalelecsc[m] = total[i];
m++;
}
if(majors[i] == "Other Engineering") {
year_other[n] = years[i];
totalother[n] = total[i];
n++;
}
}
}
print(table.getRowCount() + ' total rows in table');
print(table.getColumnCount() + ' total columns in table');
}
function draw() {
background(255);
rect(100,10,750,800);
trellis("Computer Science and Math student count",165,20,140,400,totalcompsc,year_compsc,140,20,400,200,110,200,160,250);
line(450,10,450,260);
trellis("Chemical Engineering",165,20,500,760,totalchemsc,year_chemsc,500,20,760,200,470,200,550,250);
line(100,260,850,260);
trellis("Mechanical Engineering",425,280,140,400,totalmechsc,year_mechsc,140,280,400,460,110,460,180,510);
line(450,260,450,515);
trellis("Economics",425,280,500,760,totalelecsc,year_elecsc,500,280,760,460,470,460,550,510);
line(100,515,850,515);
trellis("Other Engineering",685,540,140,400,totalother,year_other,140,540,400,720,110,720,180,775);
line(450,515,450,810);
}
function trellis(name,ymapx,ymapy,xmapx,xmapy,total,year,linex,liney,linexdiff,lineydiff,annox,annoy,namex,namey) {
text(0,annox,annoy);
maxlim =Math.max.apply(null, total);
maxyr = Math.max.apply(null,year);
minyr = Math.min.apply(null,year);
for(var l =minyr;l posx1 && mouseY > posy1 && mouseX < posx1+3 && mouseY < posy1 + 3) {
text(sval, mouseX+20, mouseY);
}
}
}