我有一个图(下面的例子),我需要在同一个轴上放置多个色条
要做到这一点,目前我必须为每个颜色条创建一个新的轴,其值手动定义如下
x_cbar_0, y_cbar_0, x_cbar_size, y_cbar_size = 0.18, 0.05, 0.3, 0.02
x_cbar2_0, y_cbar2_0, x_cbar2_size, y_cbar2_size = 0.55, 0.05, 0.3, 0.02
ax_cbar = plt.gcf().add_axes([x_cbar_0, y_cbar_0, x_cbar_size, y_cbar_size])
ax_cbar_2 = plt.gcf().add_axes([x_cbar2_0, y_cbar2_0, x_cbar2_size, y_cbar2_size])
cbar_snow = plt.gcf().colorbar(cs_snow, cax=ax_cbar, orientation='horizontal',
label='Snow')
cbar_rain = plt.gcf().colorbar(cs_rain, cax=ax_cbar_2, orientation='horizontal',
label='Rain')
这并不是一个可移植的解决方案,因为当某些事情发生变化时,例如地图投影,绘图会稍微调整大小,我必须调整这些数字,以手动放置颜色条而不重叠
难道没有一种方法可以自动创建一个与图形宽度相同的新轴(我认为mpl_toolkits.axes_grid1.axes_divider
应该这样做),然后将其拆分为任意数量的子轴,然后用于放置色条吗
正如@T先生在上面所说的,gridspec是一种非常好的方法。您可能希望为更复杂的布局嵌套GridSpec,但是:
相关问题 更多 >
编程相关推荐