generated from mwc/lab_scatter
I have reached checkpoint #3.
This was definitely the most difficult and I had to do a decent amount of troubleshooting. I kept getting error messages and then realized I was just missing one word when scaling x and y. This was very frustrating but I'm happy I figured it out. I really liked seeing how it all came together and I'm sure this can be used for many different types of graphs now that I am comfortable with (x,y) type of directions.
This commit is contained in:
parent
8c03dda447
commit
3f5e409339
|
@ -35,12 +35,42 @@ 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)
|
||||
y_values = get_y_values(data)
|
||||
xmin, xmax = bounds(x_values)
|
||||
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)
|
||||
draw_scatterplot(data, size=5, color="blue")
|
||||
hideturtle()
|
||||
|
||||
done()
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue