generated from mwc/lab_scatter
Wrote functions draw_axes and draw_points in scatterplot.py to draw a scatterplot with the x and y axes and the given points (blue dots).
This commit is contained in:
@@ -35,9 +35,41 @@ 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_values = get_x_values(data)
|
||||||
|
xmin, xmax = bounds(x_values)
|
||||||
|
x_ticks = get_tick_values(xmin, xmax)
|
||||||
|
for tick in x_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)
|
||||||
|
y_ticks = get_tick_values(ymin, ymax)
|
||||||
|
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):
|
def draw_points(data, color, size):
|
||||||
"Draws the scatter plot's points."
|
"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 point in data:
|
||||||
|
"this will return a list with just one x and y value"
|
||||||
|
"we are looking for one value of x and y as an integer."
|
||||||
|
"look at how we wrote the get_x_values function, how did we extract the x or y value from the point?"
|
||||||
|
x, y = point
|
||||||
|
"So close! I have the same trouble with the domain and range."
|
||||||
|
"domain is not x and range y as we normally think of it."
|
||||||
|
"domain is the input values for this scale - the min and max x or y values"
|
||||||
|
"range is the output values for the scatterplot - the min and max that can be displayed on our plot"
|
||||||
|
"Look at your constants for the size of your plot. The range min for x values would be 0 and max would be what value in the constants file?"
|
||||||
|
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():
|
with no_delay():
|
||||||
data = generate_data(50, 10, 500, 5, 400, 1000)
|
data = generate_data(50, 10, 500, 5, 400, 1000)
|
||||||
|
|||||||
Reference in New Issue
Block a user