Почему субфигуры не могут быть вложены в спецификации сетки, чтобы их заголовки были разделены в matplotlib?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему субфигуры не могут быть вложены в спецификации сетки, чтобы их заголовки были разделены в matplotlib?

Сообщение Anonymous »

Я ожидал бы этот код:

Код: Выделить всё

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(8, 6))

fig_gridspec = fig.add_gridspec(1, 1)

top_subfig = fig.add_subfigure(fig_gridspec[(0, 0)])

top_subfig.suptitle("I am the top subfig")

top_subfig_gridspec = top_subfig.add_gridspec(1, 1, top=.7)

nested_subfig = top_subfig.add_subfigure(top_subfig_gridspec[(0, 0)])

nested_subfig.suptitle("I am the nested subfig")

plt.show()
для создания двух субтитров в разных строках. Вместо этого они перекрываются.
Изображение

Кто-нибудь может объяснить почему? Кроме того, есть ли способ добиться такого разделения с помощью вложенных подфигур?
Изменить: чтобы внести ясность, я имею в виду без изменения размеров сетки в спецификации сетки.Я знаю, что могу это сделать, и, возможно, именно это я и сделаю:

Код: Выделить всё

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(8, 6))

fig_gridspec = fig.add_gridspec(1, 1)

top_subfig = fig.add_subfigure(fig_gridspec[(0, 0)])

top_subfig.suptitle("I am the top subfig")

top_subfig_gridspec = top_subfig.add_gridspec(2, 1, height_ratios=[.1, 1])

nested_subfig = top_subfig.add_subfigure(top_subfig_gridspec[(1, 0)])

nested_subfig.suptitle("I am the nested subfig")

plt.show()
Я просто не понимаю, почему мой первый блок кода не работает и почему, похоже, нет способа отрегулировать положение вложенных подфигур в другой подфигуре.Второе редактирование: у меня нет минимально воспроизводимого примера для этого, но, соответственно, похоже, что hspace ничего не делает для спецификации сетки, которая содержит подфигуры, которые также содержат подфигуры. Я начинаю приходить к выводу, что аргументы ключевого слова спецификации сетки просто не работают, когда спецификация сетки содержит подфигуры, когда спецификация сетки связана с подфигурой или и то, и другое. Я еще не знаю границ этого явления.
Еще одно редактирование: для начала я должен был сказать, что в моем более широком контексте, не обсуждаемом здесь, я обнаружил, что constrained_layout вызывает куча проблем, хотя он решает некоторые другие, поэтому я не могу решить свою проблему таким образом. Мне действительно интересно, почему я не могу просто заставить подфигуру соблюдать спецификацию сетки, в которой она находится, и если ответ: «Это ошибка в matplotlib», и вам не следует использовать подфигуры для вашего варианта использования, я Я приму это. Или, если ответ таков: «вот полностью оправданная причина такого поведения подфигур» и вам не следует использовать подфигуры для своего варианта использования, я бы это тоже принял.

Подробнее здесь: https://stackoverflow.com/questions/793 ... eparate-in
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»