2017-02-22 46 views
0

Рассмотрим примерКак настроить размер двух подзаговоров, один с цветной панелью и другой без, в pyplot?

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

plt.subplot(121) 
img = plt.imshow([np.arange(0,1,.1)],aspect="auto") 
ax = plt.gca() 
divider = make_axes_locatable(ax) 
cax = divider.append_axes("bottom", size="3%", pad=0.5) 
plt.colorbar(img, cax=cax, orientation='horizontal') 
plt.subplot(122) 
plt.plot(range(2)) 
plt.show() 

enter image description here Я хочу, чтобы эти две фигуры (сюжет область без Colorbar) одного и того же размера.

Размер автоматически настраивается, если цветная панель построена по вертикали или если используются две строки (211, 212) вместо двух столбцов.

+0

Проверить этот вопрос: http://stackoverflow.com/questions/24417435/subplot-imshow-and-plot-sharing-same-dimensions –

ответ

1

Можно сделать то же самое для второго подзаголовка, как и для первого, т. Е. Создать разделитель и добавить оси с одинаковыми параметрами, просто в этом случае мы не хотим иметь цветную панель в осях, а вместо этого просто выключите ось.

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

ax = plt.subplot(121) 
img = ax.imshow([np.arange(0,1,.1)],aspect="auto") 
divider = make_axes_locatable(ax) 
cax = divider.append_axes("bottom", size="3%", pad=0.5) 
plt.colorbar(img, cax=cax, orientation='horizontal') 

ax2 = plt.subplot(122) 
ax2.plot(range(2)) 
divider2 = make_axes_locatable(ax2) 
cax2 = divider2.append_axes("bottom", size="3%", pad=0.5) 
cax2.axis('off') 
plt.show() 

enter image description here

 Смежные вопросы

  • Нет связанных вопросов^_^