М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет243/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   239   240   241   242   243   244   245   246   ...   334
Байланысты:
Изучаем Python


Глава 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

Достарыңызбен бөлісу:
1   ...   239   240   241   242   243   244   245   246   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет