Удалить белые поля в бегущей фигуре - PullRequest
0 голосов
/ 15 мая 2018

Я специально прошу сделать это на ходу, так как решение plt.savefig('blaa.png', bbox_inches='tight') меня не касается. Я не хочу сохранять фигуру, я хочу, чтобы она работала без наценок. Вот как создается моя фигура:

mpl.rcParams['toolbar'] = 'None'

fig = plt.figure()
ax = fig.add_subplot(111)
img = plt.imread('blaaa.jpg')
ax.imshow(img, extent=[-180, 180, -90, 90], aspect=1)

ax.set_axis_off()
plt.tight_layout(pad=0, h_pad=0, w_pad=0, rect=None)
plt.subplots_adjust(wspace=0, hspace=0)
plt.show()

После этого я все еще получаю белые поля с левой стороны. Есть идеи?

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

В качестве альтернативы другому ответу, вы можете использовать другие ключевые слова в вашем звонке на subplots_adjust:

Обратите внимание, что wspace и hspace - это пробел между подсюжетами, поэтому здесь ничего не нужно делать, вам нужно left= и right=.

mpl.rcParams['toolbar'] = 'None'

fig = plt.figure()
ax = fig.add_subplot(111)
img = plt.imread('blaaa.jpg')
ax.imshow(img, extent=[-180, 180, -90, 90], aspect=1)

ax.set_axis_off()
plt.subplots_adjust(left=0, right=1)
plt.show()

Если вы хотите, чтобы ваше изображение охватывало всю фигуру, вы можете использовать aspect="auto" в imshow(), что может быть неприменимо в этом случае, если вы хотите определенное соотношение сторон

0 голосов
/ 15 мая 2018

Вам необходимо установить положение осей на полную ограничивающую рамку:

mpl.rcParams['toolbar'] = 'None'

fig = plt.figure()
ax = fig.add_subplot(111)
img = plt.imread('blaaa.jpg')
ax.imshow(img, extent=[-180, 180, -90, 90], aspect=1)

ax.set_axis_off()
plt.tight_layout(pad=0, h_pad=0, w_pad=0, rect=None)
plt.subplots_adjust(wspace=0, hspace=0)  # this shouldn't be needed afaik
ax.set_position([0, 0, 1, 1])
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...