На этом шаге мы рассмотрим механизм размещения графиков на отдельных полях.
Самый простой способ вывести графики на отдельных полях - это использовать функцию subplot() для задания мест их размещения. До этого момента мы не работали с Фигурой (Figure) напрямую, значения ее параметров, задаваемые по умолчанию, нас устраивали. Для решения текущей задачи придётся один из параметров - размер подложки, задать вручную. За это отвечает аргумент figsize функции figure(), которому присваивается кортеж из двух float-элементов, определяющих высоту и ширину подложки.
После задания размера указывается местоположение: куда будет установлено поле с графиком с помощью функции subplot().
Доступны следующие варианты вызова subplot():
Второй вариант можно использовать, если количество строк и столбцов сетки не более 10, в ином случае лучше обратиться к первому варианту.
Рассмотрим на примере работу с данными функциями:
import matplotlib.pyplot as plt # Исходный набор данных x = [1, 5, 10, 15, 20] y1 = [1, 7, 3, 5, 11] y2 = [i * 1.2 + 1 for i in y1] y3 = [i * 1.2 + 1 for i in y2] y4 = [i * 1.2 + 1 for i in y3] # Настройка размеров подложки plt.figure(figsize=(12, 7)) # Вывод графиков plt.subplot(2, 2, 1) plt.plot(x, y1, '-') plt.subplot(2, 2, 2) plt.plot(x, y2, '--') plt.subplot(2, 2, 3) plt.plot(x, y3, '-.') plt.subplot(2, 2, 4) plt.plot(x, y4, ':') plt.show()
Результат работы приложения изображен на рисунке 1.
Рис.1. Размещение графиков на отдельных полях
Решим эту же задачу, используя второй вариант вызова subplot():
import matplotlib.pyplot as plt # Исходный набор данных x = [1, 5, 10, 15, 20] y1 = [1, 7, 3, 5, 11] y2 = [i * 1.2 + 1 for i in y1] y3 = [i * 1.2 + 1 for i in y2] y4 = [i * 1.2 + 1 for i in y3] # Настройка размеров подложки plt.figure(figsize=(12, 7)) # Вывод графиков plt.subplot(221) plt.plot(x, y1, '-') plt.subplot(222) plt.plot(x, y2, '--') plt.subplot(223) plt.plot(x, y3, '-.') plt.subplot(224) plt.plot(x, y4, ':') plt.show()
В результате будет получен график, аналогичный приведённому на рисунке 1.
На следующем шаге мы рассмотрим работу с функцией subplots().