generated from mwc/lab_scatter
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:
parent
65c7302f75
commit
64d870d280
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue