-
Notifications
You must be signed in to change notification settings - Fork 21
Description
I'm running into trouble with the creation of a scatterplot with kiva data in section 8.15. act_kiva_graph_2 (Create a well scaled scatter plot with X and Y axes using num_lenders_total and loan_amount).
The turtle is painstakingly slow, regardless of the speed parameter, and drawing the loan_amount-num_lenders_total scatterplot fails due to a RunTime Error after the turtle finished the second dot.
This error occurs consistently: it happens in the sandbox, it happens if I build runestone locally from the pbs-psych161-wi19 branch, it happens if I build runestone locally from the current state of runestone/ac101.
The same code runs flawless locally in an ipython instance using Python 3.5:
import turtle
sc = turtle.Screen()
adina = turtle.Turtle()
adina.speed(10)
sc.setworldcoordinates(0, 0, max(num_lenders_total), max(loan_amount))
adina.penup()
for i in range(len(num_lenders_total)):
adina.goto(num_lenders_total[i], loan_amount[i])
adina.stamp()
A workaround for me was to scale the loan_amount variable, as this one was clearly responsible for giving my poor turtle a hard time (very long ways to walk for it). The following code works AND is also able to adjust the speed:
loan_amount_scale = [i/500 for i in loan_amount]
import turtle
sc = turtle.Screen()
adina = turtle.Turtle()
adina.speed(0)
sc.setworldcoordinates(0, 0, max(num_lenders_total), max(loan_amount_scale))
adina.penup()
for i in range(len(num_lenders_total)):
adina.goto(num_lenders_total[i], loan_amount_scale[i])
adina.stamp()
But I doubt that this is an optimal solution...