Автоматическое вычисление данных
Строить списки вручную неэффективно, особенно при большом объеме данных. Вместо того чтобы передавать данные в виде списка, мы воспользуемся циклом Python, который выполнит вычисления за нас. Вот как выглядит такой цикл для 1000 точек:
scatter_squares.py
import matplotlib.pyplot as plt
(1) x_values = list(range(1, 1001))
y_values = [x**2 for x in x_values]
(2)plt.scatter(x_values, y_values, s=40)
# Назначение заголовка диаграммы и меток осей.
...
# Назначение диапазона для каждой оси.
w plt.axis([0, 1100, 0, 1100000])
plt.show()
Все начинается со списка значений координаты x с числами от 1 до 1000 (1) . Затем генератор списка строит значения y, перебирая значения x (for x in x_values), возводя каждое число в квадрат (x**2) и сохраняя результаты в y_values. Затем оба списка (входной и выходной) передаются scatter() (2).
Набор данных достаточно велик, поэтому мы выбираем меньший размер шрифта, а функция axis() используется для задания диапазона каждой оси (3). Функция axis() получает четыре значения: минимум и максимум по осям x и y. В данном случае по оси x откладывается диапазон от 0 до 1100, а по оси y — диапазон от 0 до 1 100 000. На рис. 15.6 показан результат.
Рис. 15.6. Диаграмма с 1000 точками строится так же легко, как и диаграмма с 5 точками