Я не могу изменить расстояние между участками в matplotlib - PullRequest
0 голосов
/ 29 марта 2019

Я довольно новичок в python, и я рисую два imshow объекта в фигуре, один под другим. Однако я не могу изменить горизонтальное расстояние между двумя объектами, т. Е. Они слишком далеко друг от друга.

Как предложено в Улучшить размер / интервал подплотов с помощью множества субплотов в matplotlib , я пробовал использовать plt.tight_layout() и plt.subplots_adjust, но это никак не повлияло на график.

Вот как я создал график (я упустил части, в которых я определяю массивы для построения и свойства imshow графика):

fig = plt.figure()
ax1 = fig.add_subplot(211)
ax1.imshow(help_vector, cmap=cmap, norm=norm)
ax2 = fig.add_subplot(212)
ax2.imshow(plot_vector, cmap=cmap, norm=norm)

Я не знаю, важно ли это, но у обоих подзаголовков есть заголовок, у всей фигуры есть заголовок, а у второго подзаголовка есть «легенда» рядом с ним, которую я создал с помощью следующего кода:

patches = [mpatches.Patch(color='lime', label = 'No relevant error'), mpatches.Patch(color='yellow',label='Medium error'), mpatches.Patch(color='orange',label='Large error'), mpatches.Patch(color='red',
    label='Unacceptable')]
    plt.legend(handles=patches, bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0)

При сохранении изображения с помощью savefig я добавил аргумент bbox_inches='tight'.

Изображение сюжета

Любая помощь очень ценится!

Редактировать: Добавлено изображение сюжета.

1 Ответ

0 голосов
/ 29 марта 2019

Как указал @ImportanceOfBeingErnest, решение было использовать параметры top и bottom subplots_adjust().В моем случае fig.subplots_adjust(top=0.7,bottom=0.3) было то, что мне было нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...