Guest User

Untitled

a guest
Feb 24th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. var rows;
  2. var student = [];
  3. var major = [];
  4. var width, height;
  5. var X1,Y,X2;
  6. var x,y,w,h;
  7. var range;
  8.  
  9. function preload() {
  10. table = loadTable('graduates.csv', 'csv', 'header');
  11. }
  12.  
  13. function setup() {
  14.  
  15. width = 800, height = 500;
  16. X1=20, Y=height-10, X2=width;
  17. rows = table.findRows('2015', 'Year');
  18. for (var r = 0; r < rows.length; r++) {
  19. if(rows[r].getString('Asians') > 200000){
  20. append(major, rows[r].getString('Major'));
  21. append(student,rows[r].getString('Asians'));
  22. }
  23. }
  24.  
  25. range = ceil(((max(student)-min(student))/(100000*student.length)));
  26. createCanvas(width, height);
  27.  
  28. }
  29.  
  30. function drawAxis(){
  31. line(X1,Y, X2, Y); //xAxis
  32. line(X1,0,X1,Y); //yAxis
  33. text(0,X1-20,height);
  34. text('Student(100k)',25,10);
  35. for(var j=1;j<=5;j++){
  36. stroke(220,220,220);
  37. line(X1,(j/student.length)*(height/1.2),width,(j/student.length)*(height/1.2));
  38. text((range)*(student.length-j+1),X1-20,(j/student.length)*(height/1.2));
  39. }
  40. for(var k=0;k<major.length;k++){
  41. text(major[k],((k/student.length)*width)+65,height);
  42. }
  43.  
  44. }
  45.  
  46. function draw() {
  47. background(255);
  48. drawAxis();
  49. for(var i=0;i<student.length;i++){
  50. x = (i/student.length)*width;
  51. y = 0;
  52. w = (Y/student.length)-50;
  53. h = student[i]/1000;
  54. push();
  55. var scale = (max(student)/1000-h)+(Y-max(student)/1000);
  56. translate(x,y);
  57. fill(0,0,255);
  58. noStroke();
  59. rect(w,scale,w,h);
  60. if(mouseX > w+x && mouseY > height-h+y &&
  61. mouseX < ((w*2))-10+x && mouseY < height-10){
  62. fill(255);
  63. textStyle(BOLD);
  64. text(parseInt(student[i]).toLocaleString('en'),w+(1/5*w),height-h+10);
  65. }
  66. pop();
  67. }
  68.  
  69.  
  70. }
Add Comment
Please, Sign In to add comment