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



Pdf көрінісі
бет190/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   186   187   188   189   190   191   192   193   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )


Глава 15 • Генерирование данных
scatter_squares.py
import matplotlib.pyplot as plt
x_values = [1, 2, 3, 4, 5]
y_values = [1, 4, 9, 16, 25]
plt.scatter(x_values, y_values, s=100)
# Назначение заголовка диаграммы и меток осей.
...
Список 
x_values
содержит числа, возводимые в квадрат, а в 
y_values
содержатся 
квадраты. При передаче этих списков 
scatter()
библиотека 
matplotlib
читает 
по одному значению из каждого списка и наносит их на диаграмму как точку. 
Таким образом, на диаграмму будут нанесены точки (1, 1), (2, 4), (3, 9), (4, 16) 
и (5, 25); результат показан на рис. 15.5.
Рис. 15.5.
Точечная диаграмма с несколькими точками
Автоматическое вычисление данных
Строить списки вручную неэффективно, особенно при большом объеме данных. 
Вместо того чтобы передавать данные в виде списка, мы воспользуемся циклом 
Python, который выполнит вычисления за нас. Вот как выглядит такой цикл для 
1000 точек:
scatter_squares.py
import matplotlib.pyplot as plt
 
x_values = list(range(1, 1001))
y_values = [x**2 for x in x_values]
 
plt.scatter(x_values, y_values, s=40)


Построение простого графика
317
# Назначение заголовка диаграммы и меток осей.
...
# Назначение диапазона для каждой оси.
w plt.axis([0, 1100, 0, 1100000])
plt.show()
Все начинается со списка значений координаты 
x
с числами от 1 до 1000 

. Затем 
генератор списка строит значения 
y
, перебирая значения 
x
(
for
x
in
x_values
), воз-
водя каждое число в квадрат (
x**2
) и сохраняя результаты в 
y_values
. Затем оба 
списка (входной и выходной) передаются 
scatter()

.
Набор данных достаточно велик, поэтому мы выбираем меньший размер шрифта, 
а функция 
axis()
используется для задания диапазона каждой оси 

. Функция 
axis()
получает четыре значения: минимум и максимум по осям 
x
и 
y
. В данном 
случае по оси 
x
откладывается диапазон от 0 до 1100, а по оси 
y
— диапазон от 0 
до 1 100 000. На рис. 15.6 показан результат.
Рис. 15.6.
Диаграмма с 1000 точками строится так же легко,
как и диаграмма с 5 точками
Удаление контуров точек
Библиотека 
matplotlib
позволяет раскрашивать точки на точечной диаграмме 
в разные цвета. Оформление по умолчанию — синие точки с черным контуром — 
хорошо подходит для диаграмм с несколькими точками. Однако при большом 
количестве точек черные контуры начинают сливаться. Чтобы удалить контуры 
вокруг точек, передайте аргумент 
edgecolor='none'
при вызове 
scatter()
:
plt.scatter(x_values, y_values, edgecolor='none', s=40)
Запустите 
scatter_squares .py
с этим вызовом, и вы увидите, что на диаграмме выво-
дятся только заполненные синие точки.


318

Достарыңызбен бөлісу:
1   ...   186   187   188   189   190   191   192   193   ...   266




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

    Басты бет