сузить разрыв между подзаголовками в pyplot

У меня есть четыре матрицы путаницы для построения в pyplot. Ниже мой код и полученное изображение:

confmatmap=cm.YlOrBr    
fig = plt.figure()

plt.clf()
ax = fig.add_subplot(221)
ax.set_aspect(1)
res = ax.imshow(np.array(norm_conf_1), cmap=confmatmap, interpolation='nearest')
plt.xticks(range(2), ['T', 'F']); plt.yticks(range(2), ['T', 'F'])

ax = fig.add_subplot(222)
ax.set_aspect(1)
res = ax.imshow(np.array(norm_conf_2), cmap=confmatmap, interpolation='nearest')
plt.xticks(range(2), ['','']);plt.yticks(range(2), ['','']);
ax = fig.add_subplot(223)
ax.set_aspect(1)
res = ax.imshow(np.array(norm_conf_3), cmap=confmatmap, interpolation='nearest')
plt.xticks(range(2), ['','']);plt.yticks(range(2), ['','']);
ax = fig.add_subplot(224)
ax.set_aspect(1)
res = ax.imshow(np.array(norm_conf_4![enter image description here][2]), cmap=confmatmap, interpolation='nearest')
plt.xticks(range(2), ['','']);plt.yticks(range(2), ['','']);


fig.subplots_adjust(left=0, bottom=0, right=1, top=1,wspace=0, hspace=0.1)

введите здесь описание изображения

Но разрыв между левыми и правыми сюжетами слишком велик для меня. Я хочу, чтобы вертикальные и горизонтальные промежутки были размером примерно с символ. Я могу сократить разрыв между верхними и нижними подграфиками, установив hspace на очень маленькое значение, но wspace не работает. Я полагаю, что это возможно, потому что в подзаголовках есть пустая часть белого цвета.

Как я могу сузить пробелы до любого назначенного значения здесь?


person onemach    schedule 03.05.2014    source источник


Ответы (2)


Стараться сделать:

fig = plt.figure(figsize=(4, 4))

в начале, и ваш код должен работать. Проблема, по-видимому, заключается в размере фигуры, которая несовместима с ее содержанием, что делает невозможным соблюдение как wspace, так и hspace.

person Saullo G. P. Castro    schedule 03.05.2014

Вы на правильном пути с fig.subplots_adjust(left=0, bottom=0, right=1, top=1).

Например, установив для левого значения ненулевое значение, вы можете переместить левые два подграфика дальше внутрь, то есть к двум подграфикам справа. Таким образом, уменьшается ширина между участками.

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

Еще одна вещь, которую вы можете использовать, это:

fig.tight_layout()

person The Dude    schedule 03.05.2014