From 8da8754269cc4f9c0ff9d97f68964a332d9d6304 Mon Sep 17 00:00:00 2001 From: caglazir Date: Wed, 15 Oct 2025 21:02:19 -0400 Subject: [PATCH] I made some changes/fixes to draw a scatter plot. I enjoyed the thought processes that were happening in my mind, altough it HURT. I think I did a little too much with recalling some of the functions we defined in our transform.py file for the scatterplot.py file. I appreciated the step-by-step breakdown on the website to guide me though what would be included in each chunk of the code. Still, I ran into the issue of how to actually make those steps happen. I think it had more to do with my understanding of the individual functins like clamp and ratio because I went back and forth many times trying to figure out how to actually execute them. I preffered the kind of thinking we did for Checkpoint #2. It made a lot more sense to me although I still struggled with what things actually meant. --- scatterplot.py | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/scatterplot.py b/scatterplot.py index 50f66fb..90eb1dc 100644 --- a/scatterplot.py +++ b/scatterplot.py @@ -34,13 +34,50 @@ 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) + x_ticks = get_tick_values(xmin, xmax) + + for tick in x_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) + y_ticks = get_tick_values(ymin, ymax) + + for tick in y_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." + x_values = get_x_values(data) + y_values= get_y_values(data) + xmin, xmax = bounds(x_values) + ymin, ymax = bounds(y_values) + + for x,y in data: + x = clamp(x, xmin, xmax) + ratio(x, xmin, xmax) + scaled_x=scale(x, xmin, xmax, 0, constants.PLOT_WIDTH) + + y = clamp(y, ymin, ymax) + ratio(y, ymin, ymax) + scaled_y=scale(y, ymin, ymax, 0, constants.PLOT_HEIGHT) + #At this point I am deeply confused with what domain min and max are supposed to be. + # I am also sort of confused of how much of the individual recalling is needed for the functions such as ratio, clamp, etc. + draw_point(scaled_x, scaled_y, color, size) + + with no_delay(): data = generate_data(50, 10, 500, 5, 400, 1000) draw_scatterplot(data, size=5, color="blue") hideturtle() done() + +