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()
Когда приведенная выше строка кода выполняется, она создает следующий график: