generated from mwc/lab_scatter
checkpooint 3: completed scatterplot
I think i am used to bottom-up problem solving. I like doing problems by first utilizing the knowledge I already have and expanding it. Top-down thinking, like we did in checkpoint 1 may sometimes make it difficult to proceed once you get stuck in a step. For bottom up, you can move onto a different part which you already know.
This commit is contained in:
@@ -35,9 +35,35 @@ def draw_scatterplot(data, size=5, color="black"):
|
|||||||
|
|
||||||
def draw_axes(data):
|
def draw_axes(data):
|
||||||
"Draws the scatter plot's axes."
|
"Draws the scatter plot's axes."
|
||||||
|
draw_x_axis()
|
||||||
|
x_val = get_x_values(data)
|
||||||
|
xmin, xmax = bounds(x_val)
|
||||||
|
ticks = get_tick_values(xmin, xmax)
|
||||||
|
for tick in ticks:
|
||||||
|
screen_x_pos = scale(tick, xmin, xmax, 0, constants.PLOT_WIDTH)
|
||||||
|
draw_x_tick(screen_x_pos, tick)
|
||||||
|
|
||||||
|
draw_y_axis()
|
||||||
|
y_val= get_y_values(data)
|
||||||
|
ymin, ymax = bounds(y_val)
|
||||||
|
ticks= get_tick_values(ymin, ymax)
|
||||||
|
for tick in ticks:
|
||||||
|
screen_y_pos = scale(tick, ymin, ymax, 0, constants.PLOT_WIDTH)
|
||||||
|
draw_y_tick(screen_y_pos, tick)
|
||||||
|
|
||||||
def draw_points(data, color, size):
|
def draw_points(data, color, size):
|
||||||
"Draws the scatter plot's points."
|
"Draws the scatter plot's points."
|
||||||
|
x_val = get_x_values(data)
|
||||||
|
y_val= get_y_values (data)
|
||||||
|
xmin, xmax = bounds(x_val)
|
||||||
|
ymin, ymax = bounds(y_val)
|
||||||
|
for point in data:
|
||||||
|
scaled_x = scale(point[0], xmin, xmax, 0, constants.PLOT_WIDTH)
|
||||||
|
scaled_y = scale(point[1], ymin, ymax, 0, constants.PLOT_WIDTH)
|
||||||
|
draw_point(scaled_x, scaled_y, color, size)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
with no_delay():
|
with no_delay():
|
||||||
data = generate_data(50, 10, 500, 5, 400, 1000)
|
data = generate_data(50, 10, 500, 5, 400, 1000)
|
||||||
|
|||||||
@@ -40,9 +40,9 @@ def clamp(value, low, high):
|
|||||||
val= None
|
val= None
|
||||||
if value > low and value < high:
|
if value > low and value < high:
|
||||||
val= value
|
val= value
|
||||||
if value < low:
|
if value <= low:
|
||||||
val = low
|
val = low
|
||||||
if value > high:
|
if value >= high:
|
||||||
val= high
|
val= high
|
||||||
return val
|
return val
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user