Checkpoint 3: I completed scatterplot.py

I think it went well. I think I understood how everything fit
together. As I was working, I was thinking that I could really do
this assignment without looking at plotting.py and ticks.py because
of how the steps were broken down, and I'd probably still get an
understanding of using functions to break down problems. In some
ways, I appreciated having plotting.py and ticks.py made for me,
because it kept the focus on breaking down problems as opposed to
focusing on writing all the minutia (like flyto) from scratch. of
course, I did look through them! I wasn't thinking about other
programs I could write--I suppose I'm just focused on the programs
I have to write at the moment, to be honest. I think once I'm caught
up with assignments and have time to plan new curricular materials,
I'll be able to keep the idea of this lab in mind. Given my
background as a math teacher, I imagine I'd want to do other data
visualization tasks.
This commit is contained in:
Cory Dean Chung 2023-08-12 18:49:49 -04:00
parent 65c7302f75
commit 64d870d280
1 changed files with 23 additions and 0 deletions

View File

@ -35,9 +35,32 @@ def draw_scatterplot(data, size=5, color="black"):
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."
x_values = get_x_values(data)
xmin, xmax = bounds(x_values)
y_values = get_y_values(data)
ymin, ymax = bounds(y_values)
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)