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; i2001){ 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); } } }