Глава 15 • Генерирование данных
Чтобы получить следующее значение
x
, мы прибавляем значение
x_step
к по-
следнему значению, хранящемуся в
x_values
, и делаем то же самое для значе-
ний
y
. После того как значения будут получены, они присоединяются к
x_values
и
y_values
.
Вывод случайного блуждания
Ниже приведен код отображения всех точек блуждания:
rw_visual.py
import matplotlib.pyplot as plt
from random_walk import RandomWalk
# Построение случайного блуждания.
❶
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()
Сначала программа импортирует
pyplot
и
RandomWalk
. Затем она создает случайное
блуждание и сохраняет его в
rw
, не забывая вызвать
fill_walk()
. В точке
про-
грамма передает
scatter()
координаты
x
и
y
блуждания и выбирает подходящий
размер точки. На рис. 15.9 показана диаграмма с 5000 точками. (В изображениях
этого раздела область просмотра Matplotlib не показана, но вы увидите ее при за-
пуске
rw_visual .py
.)
Рис. 15.9.
Случайное блуждание с 5000 точек
Случайное блуждание
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
.
Оформление случайного блуждания
В этом разделе мы настроим диаграмму так, чтобы подчеркнуть важные характе-
ристики каждого блуждания и отвести на второй план несущественные элементы.
Для этого мы выделим характеристики, которые нужно подчеркнуть (например,
откуда началось блуждание, где оно закончилось и по какому пути следовало). За-
тем определяются характеристики, которые нужно ослабить (например, деления
шкалы и метки). Результатом должно быть простое визуальное представление,
которое четко описывает путь, использованный в каждом случайном блуждании.
Назначение цветов
Мы используем цветовую карту для отображения точек блуждания, а также уда-
ляем черный контур из каждой точки, чтобы цвет точек был лучше виден. Чтобы
334
Достарыңызбен бөлісу: |