Python: Matplotlib: splitr.append_axes не работает с matplotlib 3.0.0 - PullRequest
0 голосов
/ 15 октября 2018

Вот код, который я использовал с matplotlib 2.2.3, который правильно добавлял заполненную ось справа от моей фигуры:

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable

fig = plt.figure(1, clear=True)
axis = plt.gca()
divider = make_axes_locatable(axis)
new_axis = divider.append_axes("right", size="5%", pad=0.05)
plt.show()
fig.savefig('test.png', pad_inches=0, bbox_inches='tight')

Однако, так как я обновил matplotlib до версии 3.0.0приведенный выше фрагмент больше не добавляет ось, а заменяет текущую ось.Выходные данные fig.axes показывают, что присутствуют обе оси:

[<matplotlib.axes._subplots.AxesSubplot object at 0x000001FEC0A38E80>,
<matplotlib.axes._axes.Axes object at 0x000001FEBD3A12E8>]

, но на рисунке видна только новая, перекрывающаяся и имеющая полный размер исходной оси.

тот же код работает нормально с matplotlib 2.2.3.Поэтому у меня вопрос: есть ли какие-либо изменения в интерфейсе разделителя, представленные в версии 3.0.0, или это ошибка?Документация недостаточна, но не говорит о каких-либо изменениях в интерфейсе.

Обновление:

После многих проблем я обнаружилиз-за того, что графики на моей машине также отображаются правильно в matplotlib 3.0.0, но не сохраняются правильно.Я локализовал проблему для опции savefig bbox_inches='tight'.Поэтому при сохранении фигуры с помощью

 fig.savefig('test.png', pad_inches=0, bbox_inches='tight')

сохраняется только цветная полоса, тогда как

 fig.savefig('test.png', pad_inches=0)

создает всю фигуру, но с большими белыми пэдами.В matplotlib 2.2.3 обе строки дают полную фигуру (с или без пэдов).Мой новый вопрос заключается в следующем: bbox_inches не работает для такого рода приложений в matplotlib 3.0.0 и как мне получить фигуру без белых площадок?

Я обновил MWE выше, чтобы воспроизвести ошибку.

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