var table; function preload() { table = loadTable('alabasterPD.csv', 'csv', 'header'); } function setup() { createCanvas(1000, 900); } function draw(){ clear() var total_Rape = table.getColumn('Totals.Violent.Rape'); var total_Murder = table.getColumn('Totals.Violent.Murder'); var total_Assault = table.getColumn('Totals.Violent.Assault'); textSize(20) fill(0,0,0) text("Alabaster P.D. Crime", 310, 50) fill(0,0,0) textSize(10) text("# of Assaults",110,530) text("# of Rapes",315,330) text("# of Murders",515,130) line(100,100, 100, 700); line(700,700, 700, 100); line(295, 700, 295, 100); line(305, 700, 305, 100); line(495,700, 495, 100); line(505,700, 505, 100); line(100,700,700, 700); line(700,100,100, 100); line(700,305,100, 305); line(700,295,100, 295); line(700,495,100, 495); line(700,505,100, 505); //ASSAULT for(var x = 0; x < table.getRowCount(); x++){ var tick1 = map(total_Assault[x], min(total_Assault), max(total_Assault), 100,295) line(tick1,700, tick1,705) line(tick1,95, tick1,100) //print(years[x]) var tick2 = map(total_Assault[x], min(total_Assault), max(total_Assault), 700,505) line(95,tick2, 100,tick2) line(700,tick2, 705,tick2) if(total_Assault[x] == min(total_Assault) || total_Assault[x] == max(total_Assault)){ textSize(10) text(total_Assault[x], tick1-5, 720) text(total_Assault[x], 80, tick2+5) } } for(var x = 0; x < table.getRowCount(); x++){ var x1 = map(total_Assault[x], min(total_Assault), max(total_Assault), 100, 295) var y1 = map(total_Assault[x], min(total_Assault), max(total_Assault), 700,505) fill(204, 51, 51) ellipse(x1, y1, 5, 5); info(x1,y1,x,total_Assault,"Assault", total_Assault, "Assault") x1 = map(total_Assault[x], min(total_Assault), max(total_Assault), 100, 295) y1 = map(total_Rape[x], min(total_Rape), max(total_Rape), 495,305) fill(204, 51, 51) ellipse(x1, y1, 5, 5); info(x1,y1,x,total_Assault,"Assault", total_Rape, "Rape") x1 = map(total_Assault[x], min(total_Assault), max(total_Assault), 100, 295) y1 = map(total_Murder[x], min(total_Murder), max(total_Murder), 295,100) fill(204, 51, 51) ellipse(x1, y1, 5, 5); info(x1,y1,x,total_Assault,"Assault", total_Murder, "Murder") } //RAPE for(var x = 0; x < table.getRowCount(); x++){ var tick1 = map(total_Rape[x], min(total_Rape), max(total_Rape), 305, 495) line(700,tick1, 705,tick1) line(95,tick1, 100,tick1) var tick2 = map(total_Rape[x], min(total_Rape), max(total_Rape), 305, 495) line(tick2,700, tick2,705) line(tick2,95, tick2,100) if(total_Rape[x] == min(total_Rape) || total_Rape[x] == max(total_Rape)){ textSize(10) fill(0,0,0) text(total_Rape[x], tick1-3, 85) text(total_Rape[x], 710, tick2+5) } } for(var x = 0; x < table.getRowCount(); x++){ var x1 = map(total_Rape[x], min(total_Rape), max(total_Rape), 305, 495) var y1 = map(total_Assault[x], min(total_Assault), max(total_Assault), 700,505) fill(204, 51, 51) ellipse(x1, y1, 5, 5); info(x1,y1,x,total_Rape,"Rape", total_Assault, "Assault") x1 = map(total_Rape[x], min(total_Rape), max(total_Rape), 305, 495) y1 = map(total_Rape[x], min(total_Rape), max(total_Rape), 495,305) fill(204, 51, 51) ellipse(x1, y1, 5, 5); info(x1,y1,x,total_Rape,"Rape", total_Rape, "Rape") x1 = map(total_Rape[x], min(total_Rape), max(total_Rape), 305, 495) y1 = map(total_Murder[x], min(total_Murder), max(total_Murder), 295,100) fill(204, 51, 51) ellipse(x1, y1, 5, 5); info(x1,y1,x,total_Rape,"Rape", total_Murder, "Murder") } //MURDER for(var x = 0; x < table.getRowCount(); x++){ var tick1 = map(total_Murder[x], min(total_Murder), max(total_Murder), 505,700) line(tick1,700, tick1,705) line(tick1,95, tick1,100) var tick2 = map(total_Murder[x], min(total_Murder), max(total_Murder), 100,295) line(700,tick2, 705,tick2) line(95,tick2, 100,tick2) if(total_Murder[x] == min(total_Murder) || total_Murder[x] == max(total_Murder)){ textSize(10) fill(0,0,0) text(total_Murder[x], tick1-5, 720) text(total_Murder[x], 85, tick2+5) } } for(var x = 0; x < table.getRowCount(); x++){ var x1 = map(total_Murder[x], min(total_Murder), max(total_Murder), 505, 700) var y1 = map(total_Assault[x], min(total_Assault), max(total_Assault), 700,505) fill(204, 51, 51) ellipse(x1, y1, 5, 5); info(x1,y1,x,total_Murder,"Murder", total_Assault, "Assault") x1 = map(total_Murder[x], min(total_Murder), max(total_Murder), 505, 700) y1 = map(total_Rape[x], min(total_Rape), max(total_Rape), 495,305) fill(204, 51, 51) ellipse(x1, y1, 5, 5); info(x1,y1,x,total_Murder,"Murder", total_Rape, "Rape") x1 = map(total_Murder[x], min(total_Murder), max(total_Murder), 505, 700) y1 = map(total_Murder[x], min(total_Murder), max(total_Murder), 295,100) fill(204, 51, 51) ellipse(x1, y1, 5, 5); info(x1,y1,x,total_Murder,"Murder", total_Murder, "Murder") } } function info(x1, y1, x, xaxis, xname, yaxis, yname){ if(mouseX < x1+2 && mouseX > x1-2 && mouseY < y1+2 && mouseY > y1-2){ fill(0,0,0) textSize(10); text(" # of " + xname + ": " + xaxis[x], mouseX, mouseY+10) text(" # of " + yname + ": " + yaxis[x], mouseX, mouseY) } }