Matplotlib - Класс Axes

Объект Axes - это область изображения с пространством данных. Данная фигура может содержать много Axes, но данный объект Axes может быть только на одной фигуре. Axes содержит два (или три в случае 3D) объекта Axis. Класс Axes и его функции-члены являются основной точкой входа в работу с OO-интерфейсом.

Объект Axes добавляется к рисунку путем вызова метода add_axes (). Он возвращает объект осей и добавляет оси в позицию rect [left, bottom, width, height], где все величины выражаются в долях ширины и высоты фигуры.

Параметр

Ниже приведен параметр для класса Axes -

  • rect - последовательность величин [left, bottom, width, height] длиной 4.

ax=fig.add_axes([0,0,1,1])

Следующие функции-члены класса axes добавляют различные элементы в график:

Легенда

В legend()Метод класса axes добавляет легенду к фигуре графика. Требуется три параметра -

ax.legend(handles, labels, loc)

Где метки - это последовательность строк и обрабатывает последовательность экземпляров Line2D или Patch. loc может быть строкой или целым числом, определяющим расположение легенды.

Строка местоположения Код местоположения
Лучший 0
верхний правый 1
верхний левый 2
нижний левый 3
Нижний правый 4
Правильно 5
В центре слева 6
В центре справа 7
нижний центр 8
верхний центр 9
Центр 10

axes.plot ()

Это основной метод класса осей, который отображает значения одного массива по сравнению с другим в виде линий или маркеров. Метод plot () может иметь необязательный аргумент строки формата, чтобы указать цвет, стиль и размер линии и маркера.

Цветовые коды

символ цвет
'b' Синий
'г' Зеленый
'р' Красный
'b' Синий
'c' Голубой
'м' Пурпурный
'y' Желтый
'k' Черный
'b' Синий
'w' Белый

Коды маркеров

символ Описание
'.' Маркер точки
'о' Маркер круга
'Икс' Маркер X
'D' Алмазный маркер
'ЧАС' Маркер с шестигранной головкой
's' Квадратный маркер
'+' Маркер плюс

Стили линий

символ Описание
'-' Сплошная линия
'-' Пунктир
'-.' Пунктирная линия
':' Пунктирная линия
'ЧАС' Маркер с шестигранной головкой

В следующем примере показаны расходы на рекламу и показатели продаж телевизора и смартфона в виде линейных графиков. Линия, представляющая телевизор, представляет собой сплошную линию с желтым цветом и квадратными маркерами, а линия смартфона - это пунктирная линия с зеленым цветом и круговым маркером.

import matplotlib.pyplot as plt
y = [1, 4, 9, 16, 25,36,49, 64]
x1 = [1, 16, 30, 42,55, 68, 77,88]
x2 = [1,6,12,18,28, 40, 52, 65]
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
l1 = ax.plot(x1,y,'ys-') # solid line with yellow colour and square marker
l2 = ax.plot(x2,y,'go--') # dash line with green colour and circle marker
ax.legend(labels = ('tv', 'Smartphone'), loc = 'lower right') # legend placed at lower right
ax.set_title("Advertisement effect on sales")
ax.set_xlabel('medium')
ax.set_ylabel('sales')
plt.show()

Когда приведенная выше строка кода выполняется, она создает следующий график: