generated from mwc/lab_scatter
I made some changes/fixes to draw a scatter plot.
I enjoyed the thought processes that were happening in my mind, altough it HURT. I think I did a little too much with recalling some of the functions we defined in our transform.py file for the scatterplot.py file. I appreciated the step-by-step breakdown on the website to guide me though what would be included in each chunk of the code. Still, I ran into the issue of how to actually make those steps happen. I think it had more to do with my understanding of the individual functins like clamp and ratio because I went back and forth many times trying to figure out how to actually execute them. I preffered the kind of thinking we did for Checkpoint #2. It made a lot more sense to me although I still struggled with what things actually meant.
This commit is contained in:
@@ -34,13 +34,50 @@ def draw_scatterplot(data, size=5, color="black"):
|
|||||||
draw_points(data, color, size)
|
draw_points(data, color, size)
|
||||||
|
|
||||||
def draw_axes(data):
|
def draw_axes(data):
|
||||||
"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."
|
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:
|
||||||
|
x = clamp(x, xmin, xmax)
|
||||||
|
ratio(x, xmin, xmax)
|
||||||
|
scaled_x=scale(x, xmin, xmax, 0, constants.PLOT_WIDTH)
|
||||||
|
|
||||||
|
y = clamp(y, ymin, ymax)
|
||||||
|
ratio(y, ymin, ymax)
|
||||||
|
scaled_y=scale(y, ymin, ymax, 0, constants.PLOT_HEIGHT)
|
||||||
|
#At this point I am deeply confused with what domain min and max are supposed to be.
|
||||||
|
# I am also sort of confused of how much of the individual recalling is needed for the functions such as ratio, clamp, etc.
|
||||||
|
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)
|
||||||
draw_scatterplot(data, size=5, color="blue")
|
draw_scatterplot(data, size=5, color="blue")
|
||||||
hideturtle()
|
hideturtle()
|
||||||
done()
|
done()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user