Случайное блуждание
333
Генерирование нескольких
случайных блужданий
Все случайные блуждания отличаются друг от друга; интересно понаблюдать за
тем, какие узоры генерирует программа. Один из способов использования преды-
дущего кода — построить несколько блужданий без многократного запуска про-
граммы в цикле
while
:
rw_visual.py
import matplotlib.pyplot as plt
from random_walk import RandomWalk
# Новые
блуждания строятся до тех пор, пока программа остается активной.
while True:
# Построение случайного блуждания.
rw = RandomWalk()
rw.fill_walk()
# Нанесение точк на диаграмму.
plt.style.use('classic')
fig, ax = plt.subplots()
ax.scatter(rw.x_values, rw.y_values, s=15)
plt.show()
❶
keep_running = input("Make another walk? (y/n): ")
if keep_running == 'n':
break
Код генерирует случайное блуждание, отображает его в области просмотра
Matplotlib и делает паузу с открытой областью просмотра. Когда вы закрываете
область просмотра, программа спрашивает, хотите ли вы сгенерировать следующее
блуждание. Введите значение
y
, и вы сможете сгенерировать блуждания, которые
начинаются рядом с начальной точкой, а затем отклоняются преимущественно
в одном направлении; при этом большие группы будут соединяться тонкими сек-
циями.
Чтобы завершить программу, введите
n
.
Оформление случайного блуждания
В этом разделе мы настроим диаграмму так, чтобы подчеркнуть важные характе-
ристики каждого блуждания и отвести на второй план несущественные элементы.
Для этого мы выделим характеристики, которые нужно подчеркнуть (например,
откуда началось блуждание, где оно закончилось и по какому пути следовало). За-
тем определяются характеристики, которые нужно ослабить (например, деления
шкалы и метки). Результатом должно быть простое визуальное представление,
которое четко описывает путь, использованный в каждом случайном блуждании.
Назначение
цветов
Мы используем цветовую карту для отображения точек блуждания, а также уда-
ляем черный контур из каждой точки, чтобы цвет точек был лучше виден. Чтобы