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