def plot_table(self, *gamma, colors=['red', 'green', 'blue'], draw_speed=16, scale_x=1):
"""Plot gamma table"""
if len(gamma) == 1 and len(gamma[0]) == 3:
gamma = gamma[0]
if all(x == gamma[0] for x in gamma):
gamma = gamma[:1]
turtle.penup()
turtle.tracer(0, 16)
turtle.speed(0)
turtle.color('black')
for color, points_y in enumerate(gamma):
if len(gamma) == len(colors):
turtle.color(colors[color])
elif len(colors) == 1:
turtle.color(colors[0])
for x, y in enumerate(points_y):
trace = x and x % draw_speed == 0
if trace:
turtle.tracer(1)
turtle.setposition(x * scale_x, y)
if trace:
turtle.tracer(0)
if x == 0:
turtle.showturtle()
turtle.pendown()
turtle.penup()
turtle.hideturtle()
turtle.update()
python类showturtle()的实例源码
def tscheme_showturtle():
"""Make turtle visible."""
_tscheme_prep()
turtle.showturtle()
return okay
def tscheme_showturtle():
"""Make turtle visible."""
_tscheme_prep()
turtle.showturtle()
return okay
def tscheme_showturtle():
"""Make turtle visible."""
_tscheme_prep()
turtle.showturtle()
return okay
def draw_floor(floornum: int):
global current_floor
current_floor = floornum
node_coords = utils.get_node_coords(utils.Direction.left)
if floornum == len(full_floors):
rooms = []
# All edges with rooms
print('Showing everything')
edges = chain.from_iterable(chain(((True, e) for e in edges[0]), ((False, e) for e in edges[1])) for _, edges in full_floors)
# Edges with elevation changes
#edges = set(chain.from_iterable((edge(v, n) for n in b.values() if set(['u', 'd']) & set(utils.get_graph().edgedata[edge(v, n)]['rooms'])) for v, b in enumerate(utils.get_graph().branches)))
# All edges
#...
elif floornum >= 0 and floornum < len(full_floors):
rooms, edges = full_floors[floornum]
print(edges)
edges = chain(((True, e) for e in edges[0]), ((False, e) for e in edges[1]))
print(rooms)
else:
return
turtle.showturtle()
turtle.speed(0)
turtle.clear()
written_nodes = set()
for edge_dir, (a, b) in edges:
turtle.penup()
x, y, _ = node_coords[a]
turtle.goto(x / SHRINK + X_OFFSET, y / SHRINK + Y_OFFSET)
if a not in written_nodes:
turtle.write(a)
written_nodes.add(a)
turtle.pendown()
if edge_dir:
if edge_lengths[edge(a, b)] <= 0:
turtle.pencolor('red')
else:
turtle.pencolor('black')
else:
if edge_lengths[edge(a, b)] <= 0:
turtle.pencolor('blue')
else:
turtle.pencolor('green')
x, y, _ = node_coords[b]
turtle.goto(x / SHRINK + X_OFFSET, y / SHRINK + Y_OFFSET)
turtle.pencolor('black')
if b not in written_nodes:
turtle.write(b)
written_nodes.add(b)
turtle.hideturtle()
turtle.done()