Step 2 (S-15485)

From Stepik Wiki
Revision as of 02:17, 12 August 2017 by Valeriy Shagur (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/7629/step/2


В библиотеке matplotlib существует еще один способ создания графиков, отличный от уже рассмотренного. Мы создадим специальный объект - фигура. И уже в этот объект добавим оси координат и сам график.

S-15485-1.png

С помощью plt.figure() мы создаем объект фигуры и у этого объекта вызовем метод add.axes (добавить оси координат). В метод add.axes мы передаем четыре параметра - отступы слева и снизу, и размеры графика: ширину и высоту. Все параметры - это вещественные числа в интервале от 0 до 1. В нашем примере мы создаем оси, отступающие на 10% от нижнего левого угла (0.1, 0.1) и размер графика 80% от размера фигуры (0.8, 0.8). Отступы, как правило делаются, для того, чтобы оставить место для подписей осей координат и заголовка. Далее, используя метод plot, мы передаем массивы значений в наш график и указываем цвет отображения. В следующих трех строках кода указываем подписи к графику.

Используя такой подход, можно построить два графика на одной картинке (фигуре).

S-15485-2.png

Для этого создадим два набора осей: основную и дополнительную. Основная ось идентична той, что была в предыдущем примере. Обратите внимание на отступы и размеры дополнительной оси (отступы: слева 20%, снизу 50% и размер: ширина 40%, высота 30%). При указании параметров графика, мы для наглядности поменяли местами x и y (получим "перевернутый" график) и изменили цвет графика на 'g' (зеленый).

Можно построить два графика рядом.

S-15485-3.png

Функция plt.subplots принимает два параметра: nrows (количество строк) и ncols (количество столбцов). В этом примере мы не стали задавать параметры для каждого из графиков, а создали два одинаковых графика, используя цикл. Метод fig.tight_layout() вызывается для того, чтобы наши графики при отображении не пересекались.

Существует возможность настраивать размеры фигуры с помощью параметра figsize. Размер указывается в дюймах.

S-15485-4.png

В следующем примере мы разместили два графика на одной оси координат. При вызове метода plot мы добавили метки для каждого из графиков. Метод legend, используя метки, создаст пояснительный блок к нашим графикам.

S-15485-5.png

Помимо линейных графиков, с помощью библиотеки matplotlib, можно строить и другие виды графиков. Например, гистограммы.

S-15485-6.png

Возможности библиотеки matplotlib по построению графиков на этом не заканчиваются. Вы можете посмотреть, как с помощью небольшой надстройки можно создавать вот такие графики.

S-15485-7.png


Ссылки:

Электронный учебник "Научная графика в Python"