mpl_toolkits.axisartist.axislines
Axislines включает изменённую реализацию класса Axes. Наиболее существенное различие заключается в том, что художники, ответственные за рисование оси, делений, меток делений и подписей осей, отделены от класса Axis в Matplotlib. Изначально эта смена была мотивирована поддержкой криволинейных сеток. Вот несколько причин, по которым я разработал новый класс осей:
- «верхняя» и «нижняя» оси x (или «левая» и «правая» оси y) могут иметь разные деления (местоположения делений и метки). Это невозможно в текущей Matplotlib, хотя некоторые уловки с двойными осями могут помочь.
- Криволинейная сетка.
- Наклонные деления.
В новом классе осей оси x и y установлены в невидимое состояние по умолчанию, и определён новый набор художников (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–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/_as_gen/mpl_toolkits.axisartist.axislines.html