Книга «Изучаем Python»



Pdf көрінісі
бет173/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   169   170   171   172   173   174   175   176   ...   238
Байланысты:
2 5343781172763690906

Рис. 15.9. Случайное блуждание, окрашенное с применением  

цветовой карты Blues

Начальные и конечные точки

Помимо раскраски точек, обозначающей их позицию, было бы неплохо видеть, где 

начинается и заканчивается каждое блуждание. Для этого можно прорисовать пер-

вую и последнюю точки отдельно, после нанесения на диаграмму основной серии. 

Мы выведем конечные точки с большим размером и с другим цветом, чтобы они 

выделялись на общем фоне:



rw_visual.py

...


while True:

...


plt.scatter(rw.x_values, rw.y_values, c=point_numbers, cmap=plt.cm.Blues,

edgecolor='none', s=15)

    # Выделение первой и последней точек.

    plt.scatter(0, 0, c='green', edgecolors='none', s=100)

    plt.scatter(rw.x_values[-1], rw.y_values[-1], c='red', edgecolors='none',

        s=100)

        

plt.show()

...



Случайное блуждание    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, изображение получается эфемерным и туманным. Простая 

точечная диаграмма превратилась в произведение искусства!

Поэкспериментируйте с этим кодом и посмотрите, насколько вам удастся увели-

чить количество точек в случайном блуждании, прежде чем система начнет заметно 

«тормозить» или диаграмма потеряет свою визуальную привлекательность.



Достарыңызбен бөлісу:
1   ...   169   170   171   172   173   174   175   176   ...   238




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

    Басты бет