From e4a172e1fd389799e546ecf3bb0c6a1169252062 Mon Sep 17 00:00:00 2001 From: Justin Toombs Date: Thu, 3 Aug 2023 13:05:30 -0400 Subject: [PATCH] The code was provided to insert the generated plot points into the scatter plot while drawing said scatter plot. For checkpoint 3, while I did somewhat start to understand the parts as they were explained to me, it was a long road, and if it were not for that additional explanation, I would not have completed this lab. This was easily one of the most difficult things I have ever done, and I don't forsee it getting easier without extensive assistance. However, this did get me thinking about how material like this is more than likely used in the creation of games, and I do find myself excited at the prospect of getting to make a game. --- scatterplot.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/scatterplot.py b/scatterplot.py index 50f66fb..58e8d56 100644 --- a/scatterplot.py +++ b/scatterplot.py @@ -34,10 +34,28 @@ def draw_scatterplot(data, size=5, color="black"): draw_points(data, color, size) 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): - "Draws the scatter plot's points." + xmin, xmax = bounds(get_x_values(data)) + ymin, ymax = bounds(get_y_values(data)) + for x, y in data: + scaled_x = scale(x, xmin, xmax, 0, constants.PLOT_WIDTH) + scaled_y = scale(y, ymin, ymax, 0, constants.PLOT_HEIGHT) + draw_point(scaled_x, scaled_y, color, size) with no_delay(): data = generate_data(50, 10, 500, 5, 400, 1000)