Дополнительно
Каковы различия между add_axes и add_subplot?
В предыдущей ответить было рекомендовано, чтобы я использовал add_subplot
вместо add_axes
, чтобы показать топорами правильно, но поиск в документации, я не мог'т понять, когда и почему я должен использовать одну из этих функций.
Может кто-нибудь объяснить разницу?
36
1
Общие основания
Как
add_axes
иadd_subplot
добавить осям на рис. Обе они возвращают (подкласс) `библиотек matplotlib.осям.Объект осей.Тем не менее, механизм, который используется для добавления осей существенно отличается.
add_axes
Призвание подпись
add_axes
являетсяadd_axes(прямоугольник)
, гдепрямоугольник
список[х0, У0, ширина, высота]
, обозначающие нижняя левая точка новой оси на рис. координирует `(х0,У0) и его ширину и высоту. Так что топоры positionned в абсолютных координатах на холсте. Е. Г.помещает фигуры в холсте точно, как и сам холст.
add_subplot
Призвание подпись
add_subplot
непосредственно не предоставляет возможность разместить оси в заданное положение. Он скорее позволяет указать, где оси должны быть расположены по сетке сюжета. Обычный и простой способ, чтобы указать, что такая позиция 3 число нотации,В этом примере новое осей создается в первой позиции (
1
) на сетке из 2 строк и 3 столбцов. Для производства только одной оси,add_subplot(111) будет использован (первый участок на 1 по 1 сетке сюжетные). (В более новых версиях библиотек matplotlib,
`add_subplot () без каких-либо аргументов, а также возможен.)Преимущество этого метода заключается в том, что библиотек matplotlib заботится о точном позиционировании. По add_subplot по умолчанию
(111)
создаст оси расположены в[0.125,0.11,0.775,0.77]
или похожие, которые уже оставляет достаточно пространства вокруг оси на звание и (клеща)этикетки. Однако эта позиция также может меняться в зависимости от других элементов в сюжете, титулы и так далее. Она также может быть скорректирована с помощью pyplot.subplots_adjust (...) " или " pyplot.tight_layout()`.В большинстве случаев,
add_subplot будет предпочтительным методом для создания осей для участков на холсте. Только в тех случаях, когда точные вопросы позиционирования,
add_axes` может быть полезным.Пример ###
Альтернатива
Самый простой способ получить одну или несколько сюжетных линий вместе с их ручками
ПЛТ.сюжетных линий()
. Для одной оси, использованиеили, если требуется больше сюжетных линий несколько,
Первоначальный вопрос
В начальная question была осей размещены с помощью рис.add_axes([0,0,1,1]), такую, что она сидит плотно по фигуре границ. Недостатком этого является, конечно, клещей, ticklabels, подписей осей и заголовки обрезаны. Поэтому я предложил в одном из комментариев к ответу использовать рис.add_subplot как это автоматически позволит достаточно места для этих элементов, и, если этого недостаточно, можно отрегулировать с помощью pyplot.subplots_adjust (...) " или " pyplot.tight_layout()`.