Случайное блуждание
325
Чтобы вывести начальную точку, мы рисуем точку (0, 0) зеленым цветом с боль-
шим размером (
s
=100) по сравнению с остальными точками. Для выделения конеч-
ной точки последняя пара координат
x и
y выводится с размером 100. Обязательно
вставьте этот код непосредственно перед вызовом
plt.show()
, чтобы начальная
и конечная точки выводились поверх всех остальных точек.
При выполнении этого кода вы будете точно видеть, где начинается и кончается
каждое блуждание. (Если конечные точки не выделяются достаточно четко, на-
страивайте их цвет и размер, пока не достигнете желаемого результата.)
Удаление осей
Уберем оси с диаграммы, чтобы они не отвлекали зрителя от общей картины.
Для удаления осей используется следующий код:
rw_visual.py
...
while True:
...
plt.scatter(rw.x_values[-1], rw.y_values[-1], c='red', edgecolors='none',
s=100)
# Удаление осей.
plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False)
plt.show()
...
Функция
plt.axes()
переводит флаг видимости каждой оси в состояние
False
.
При работе с визуализацией подобные цепочки вызовов встречаются очень часто.
Запустите программу
rw_visual .py
; теперь выводимые диаграммы не имеют осей.
Добавление точек
Увеличим количество точек, чтобы работать с большим объемом данных. Для этого
мы увеличим значение
num_points
при создании экземпляра
RandomWalk
и отрегу-
лируем размер каждой точки при выводе диаграммы:
rw_visual.py
...
while True:
# Построение случайного блуждания и нанесение точек на диаграмму.
rw = RandomWalk(50000)
rw.fill_walk()
# Вывод точек и отображение диаграммы.
point_numbers = list(range(rw.num_points))
plt.scatter(rw.x_values, rw.y_values, c=point_numbers, cmap=plt.cm.Blues,
edgecolor='none', s=1)
...
326 Глава 15 • Генерирование
данных
В этом примере создается случайное блуждание из 50 000 точек (что в большей
степени соответствует реальным данным), и каждая точка рисуется с размером
s
=1.
Как видно из рис. 15.10, изображение получается эфемерным и туманным. Простая
точечная диаграмма превратилась в произведение искусства!
Поэкспериментируйте с этим кодом и посмотрите, насколько вам удастся увели-
чить количество точек в случайном блуждании, прежде чем система начнет заметно
«тормозить» или диаграмма потеряет свою визуальную привлекательность.
Достарыңызбен бөлісу: