//BIVARIATE SCATTERPLOT var data; var max_num = 0; var max_pop = 0; function preload() { data = loadTable('health.csv', 'csv', 'header'); } function setup() { createCanvas(1300,1300); for(var r = 0; r < data.getRowCount(); r++) { if(data.getNum(r,3) >= max_num) { max_num = data.getNum(r,3); } if(data.getNum(r,4) >= max_pop) { max_pop = data.getNum(r,4); } } //print(data.getRowCount()); } function draw() { clear(); //axes drawn (draw little lines on axes) line(200,100,200,700); line(200,700,1200,700); var scale_x = 1000/max_pop; var scale_y = 500/max_num; var count_num = 0; var count_pop = 0; for(var y = 700; y >= 200; y--) { if(y%50 == 0) { line(190,y,210,y); fill(0); text(round(count_num), 120, y); count_num += round(.1 * max_num); } } for(var x = 200; x <= 1200; x++) { if(x%100 == 0) { line(x, 690, x, 710); fill(0); text(round(count_pop), x, 750); count_pop += round(.1 * max_pop); } } for(var r = 0; r < data.getRowCount(); r++) { fill(0); var x_val = data.getNum(r,4); var y_val = data.getNum(r,3); ellipse(200 + x_val*scale_x, 700 - y_val*scale_y, 10, 10); //interactivityyyyyy if(dist(200+x_val*scale_x, 700 - y_val*scale_y, mouseX, mouseY) < 5) { fill(255,0,0); text("Population: " + x_val + " Number: " + y_val, 200+x_val*scale_x, 700 - y_val*scale_y); } } text("State Population vs Number of Recorded Diseases", 210, 100) text("Number of Diseases", 5, 450); text("Population", 500, 800); }