РЕДАКТИРОВАТЬ: это исправлено в последних версиях matplotlib здесь
Отказ от ответственности: Я знаю, что использование подфигур не имеет значения в этом простом примере, последний используется только для демонстрации моей проблемы: я хочу иметь возможность использовать fig.legend() с fig.subfigures1.
< hr />
В настоящее время я открываю для себя новый модуль подфигур в matplotlib. Я заметил, что легенды фигур, созданные с помощью fig.legend(), не отображаются, когда основная фигура содержит подфигуры:
РЕДАКТИРОВАТЬ: это исправлено в последних версиях matplotlib здесь
[b]Отказ от ответственности:[/b] Я знаю, что использование подфигур не имеет значения в этом простом примере, последний используется только для демонстрации моей проблемы: я хочу иметь возможность использовать fig.legend() с fig.subfigures1. < hr /> В настоящее время я открываю для себя новый модуль подфигур в matplotlib. Я заметил, что легенды фигур, созданные с помощью fig.legend(), не отображаются, когда основная фигура содержит подфигуры: [code]import matplotlib.pyplot as plt import numpy as np
for subfig in subfigs: axarr = subfig.subplots(1, 2) for ax in axarr.flatten(): l1, = ax.plot(x, y1, label='line1') l2, = ax.plot(x, y2, label='line2') # ax.legend() # subfig.legend(handles=[l1, l2], loc='upper center', ncol=2) fig.legend(handles=[l1, l2], loc='upper center', ncol=2) plt.savefig('subfigures_figlegend.png', dpi=200) [/code] [img]https://i.sstatic.net/vegGH.png[/img]
Обратите внимание, что легенда к фигуре отсутствует. Для сравнения обратите внимание, что он отображается только при использовании plt.subplots: [code]fig, axarr = plt.subplots(2, 2, constrained_layout=True) for ax in axarr.flatten(): l1, = ax.plot(x, y1, label='line1') l2, = ax.plot(x, y2, label='line2') # ax.legend() fig.legend(handles=[l1, l2], loc='upper center', ncol=2) plt.savefig('subplots_figlegend.png', dpi=200) [/code] [img]https://i.sstatic.net/OjY9R.png[/img]
Я использую сюжет для создания некоторых сюжетов, где у меня есть несколько вертикальных линий и форм, которые я хочу переключаться одновременно. Вертикальные линии были построены с использованием трассов, поэтому Legendgroup работала безупречно, но...
Я использую сюжет для создания некоторых сюжетов, где у меня есть несколько вертикальных линий и форм, которые я хочу переключаться одновременно. Вертикальные линии были построены с использованием трассов, поэтому Legendgroup работала безупречно, но...
Я создаю сюжет с Seaborn, в котором есть несколько линий и групп ошибок. В легенде я хочу показать только некоторые этикетки и скрыть другие. Однако в новой версии Matplotlib (> 3.10) это поведение было удалено. Поскольку я использую Seaborn, у меня...
Проблема в том, что fig.suptitle и ax.imshow (с широкими изображениями) плохо работают вместе. Я понимаю, что существуют некоторые препятствия с соотношением сторон (или чем-то еще), которые необходимо преодолеть из-за того, что изображение широкое,...
Большое спасибо за помощь. Мне срочно нужно решить эту проблему для выполнения домашнего задания.
Мои коды следующие:
import matplotlib.pyplot as pltimport numpy as np