generated from mwc/lab_scatter
Compare commits
1 Commits
f6cfe7235a
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
31de3c0502 |
@@ -3,6 +3,7 @@
|
|||||||
# By MWC Contributors
|
# By MWC Contributors
|
||||||
# Uses lots of helper functions in other modules to draw a scatter plot.
|
# Uses lots of helper functions in other modules to draw a scatter plot.
|
||||||
|
|
||||||
|
from sqlite3 import DatabaseError
|
||||||
from turtle import *
|
from turtle import *
|
||||||
from superturtle.movement import no_delay
|
from superturtle.movement import no_delay
|
||||||
import constants
|
import constants
|
||||||
@@ -35,10 +36,36 @@ 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)
|
||||||
|
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):
|
def draw_points(data, color, size):
|
||||||
"Draws the scatter plot's points."
|
"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 point in data:
|
||||||
|
x = point[0]
|
||||||
|
y = point[1]
|
||||||
|
x_scaled = scale(x, xmin, xmax, 0, constants.PLOT_WIDTH)
|
||||||
|
y_scaled = scale(y, ymin, ymax, 0, constants.PLOT_HEIGHT)
|
||||||
|
draw_point(x_scaled, y_scaled, 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")
|
||||||
|
|||||||
Reference in New Issue
Block a user