From 99ffa70267a3518c52622dd3fd922da3300da2d0 Mon Sep 17 00:00:00 2001 From: grace-xing6 Date: Sun, 6 Oct 2024 11:18:17 -0400 Subject: [PATCH] updated scatterplot MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I initially approached the problem using my own thought process, but after getting stuck, I referred back to the website code. Once I saw the provided code and its logic, I understood why it was written that way. However, I don’t feel confident that I could write the same code on my own if I encountered a similar problem in the future. I used AI to help me finish the codes cause I don't want to stuck on it too much. I think I need to discuss with my group to better understand the codes. Another challenge I faced is that, unlike a drawing project where you can try things step by step and get immediate visual feedback to identify mistakes, this task requires completing everything before checking if it works. This makes me feel less confident because I don’t get direct feedback during the process. I'm wondering how AI could help in coding for new learners. --- scatterplot.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/scatterplot.py b/scatterplot.py index 50f66fb..e4918dc 100644 --- a/scatterplot.py +++ b/scatterplot.py @@ -34,10 +34,37 @@ def draw_scatterplot(data, size=5, color="black"): draw_points(data, color, size) def draw_axes(data): - "Draws the scatter plot's axes." + "Draws the scatter plot's axes." + "X-axis" + x_values = get_x_values(data) + xmin, xmax = bounds(x_values) + x_ticks = get_tick_values(xmin, xmax) + draw_x_axis() + for tick in x_ticks: + screen_x_position = scale(tick, xmin, xmax, 0, constants.PLOT_WIDTH) + draw_x_tick(screen_x_position, tick) + + "Y-axis" + y_values = get_y_values(data) + ymin, ymax = bounds(y_values) + y_ticks = get_tick_values(ymin, ymax) + draw_y_axis() + 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 point in data: + x, y = point + scaled_x = scale(x, xmin, xmax, 0, constants.PLOT_WIDTH) + scaled_y = scale(y, ymin, ymax, 0, constants.PLOT_WIDTH) + draw_point(scaled_x, scaled_y, color, size) with no_delay(): data = generate_data(50, 10, 500, 5, 400, 1000)