generated from mwc/lab_scatter
	checkpoint 3:
I am not sure If my final code ran correctly. I think it was supposed to be a scatter plot like the one you showed originally, but not sure. Everytime I ran the code after I was done, it changed the scale each time. Overall...before writing the function for drawing the points, I found the lab relatively easy to understand. I could also be mistaken and understood it all wrong though. I understand how it all worked together in the end, or ideally how it was supposed to. I think using this top-down apporach can really help in most programs that requiere you to take some information and manipulate it to print out a specefic type of result.
This commit is contained in:
		@@ -34,10 +34,33 @@ def draw_scatterplot(data, size=5, color="black"):
 | 
				
			|||||||
    draw_points(data, color, size)
 | 
					    draw_points(data, color, size)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def draw_axes(data):
 | 
					def draw_axes(data):
 | 
				
			||||||
    "Draws the scatter plot's axes."
 | 
					    draw_x_axis()
 | 
				
			||||||
 | 
					    x_values = get_x_values(data)
 | 
				
			||||||
 | 
					    xmin, xmax = bounds(x_values)
 | 
				
			||||||
 | 
					    ticks = get_tick_values(xmin, xmax)
 | 
				
			||||||
 | 
					    for tick in ticks:
 | 
				
			||||||
 | 
					        screen_x_position = scale(tick, xmin, xmax, 0, constants.PLOT_WIDTH)
 | 
				
			||||||
 | 
					        draw_x_tick(screen_x_position, tick)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    draw_y_axis()
 | 
				
			||||||
 | 
					    y_values = get_y_values(data)
 | 
				
			||||||
 | 
					    ymin, ymax = bounds(y_values)
 | 
				
			||||||
 | 
					    ticks = get_tick_values(ymin, ymax)
 | 
				
			||||||
 | 
					    for tick in ticks:
 | 
				
			||||||
 | 
					        screen_y_position = scale(tick, ymin, ymax, 0, constants.PLOT_HEIGHT)
 | 
				
			||||||
 | 
					        draw_y_tick(screen_y_position, tick)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def draw_points(data, color, size):
 | 
					def draw_points(data, color, size):
 | 
				
			||||||
    "Draws the scatter plot's points."
 | 
					    x_values = get_x_values(data)
 | 
				
			||||||
 | 
					    y_values = get_y_values(data)
 | 
				
			||||||
 | 
					    x1, x2 = bounds(x_values)
 | 
				
			||||||
 | 
					    y1, y2 = bounds(y_values)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    for x, y in data:
 | 
				
			||||||
 | 
					        scaled_x = scale(x, x1, x2, 14, 492)
 | 
				
			||||||
 | 
					        scaled_y = scale(y, y1, y2, -927, 3710)
 | 
				
			||||||
 | 
					        draw_point(scaled_x, scaled_y, color, size)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
with no_delay():
 | 
					with no_delay():
 | 
				
			||||||
    data = generate_data(50, 10, 500, 5, 400, 1000)
 | 
					    data = generate_data(50, 10, 500, 5, 400, 1000)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user