mpl_toolkits.axisartist.axislines
Axislines включает изменённую реализацию класса Axes. Основное отличие состоит в том, что объекты, отвечающие за отрисовку оси, штрихов, меток штрихов и подписей осей, отделены от класса Axis Matplotlib. Изначально эта модификация была мотивирована необходимостью поддержки криволинейной сетки. Ниже представлены несколько причин, по которым был создан новый класс осей:
- "верхняя" и "нижняя" оси x (или "левая" и "правая" оси y) могут иметь разные штрихи (позиции штрихов и подписи). Это невозможно в текущей Matplotlib, хотя для этого можно использовать трюк с дополнительными осями.
- Криволинейная сетка.
- Наклонённые штрихи.
В новом классе осей xaxis и yaxis по умолчанию не отображаются, и определён новый набор объектов (AxisArtist) для отрисовки линий осей, штрихов, меток штрихов и подписей осей. Атрибут Axes.axis служит словарем этих объектов, например, ax.axis["left"] — это объект AxisArtist, отвечающий за отрисовку левой оси y. По умолчанию Axes.axis содержит "bottom", "left", "top" и "right".
AxisArtist можно рассматривать как контейнерный объект, имеющий следующие дочерние объекты, которые будут отрисовывать штрихи, подписи и т. д.:
- линия
- major_ticks, major_ticklabels
- minor_ticks, minor_ticklabels
- offsetText
- подпись
Обратите внимание, что это отдельные объекты от matplotlib.axis.Axis, поэтому большинство функций, связанных со штрихами в Matplotlib, не будут работать. Например, цвет и ширина маркера ax.axis["bottom"].major_ticks будут соответствовать цветам и ширине маркера Axes.xaxis, если не указано иное.
В дополнение к AxisArtist, у Axes есть атрибут gridlines, который, очевидно, рисует линии сетки. Линии сетки должны быть отделены от оси, так как некоторые линии сетки никогда не могут пересекать ось.
Классы
| Создаёт ось в фигуре. |
| Создаёт ось в фигуре. |
AxisArtistHelper должен определять следующие методы с заданными API. Обратите внимание, что первый аргумент axes будет атрибутом axes вызываемого объекта.::. | |
|
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/_as_gen/mpl_toolkits.axisartist.axislines.html