ImageGrid中每行的Colorbar

时间:2017-06-30 00:56:54

标签: python matplotlib datagrid colorbar

免责声明:我一般都没有经验使用matplotlib和python。

以下是我试图制作的图:

almost complete figure

使用GridSpec可以很好地布置图,但是当我尝试在每行的右边包含一个颜色条时,它会改变相应子图的大小。这似乎是GridSpec众所周知且不可避免的问题。所以根据这个问题的建议:Matplotlib 2 Subplots, 1 Colorbar 我决定使用ImageGrid重拍整个情节。不幸的是documentation只列出了选项cbar_mode=[None|single|each],而我想要每行1个colobar。有没有办法在单个ImageGrid内执行此操作?或者我是否必须制作2个网格并处理对齐的噩梦。

底部的第五个情节怎么样?有没有办法以某种方式将其包含在图像网格中?

我能看到这个工作的唯一方法是以两个ImageGrid的形式将GridSpec嵌入1x3列的{{1}}中。这似乎过于复杂和困难,所以我不想构建那个脚本,直到我知道它正确的方式。

感谢您提供任何帮助/建议!

1 个答案:

答案 0 :(得分:2)

好的我明白了。似乎ImageGrid在其中以某种方式使用subplot。所以我能够使用

之类的东西生成以下图表
TopGrid = ImageGrid( fig, 311,
                nrows_ncols=(1,2),
                axes_pad=0,
                share_all=True,
                cbar_location="right",
                cbar_mode="single",
                cbar_size="3%",
                cbar_pad=0.0,
                cbar_set_cax=True
                )  
<Plotting commands for the top row of plots and colorbar>

BotGrid = ImageGrid( fig, 312,
                nrows_ncols=(1,2),
                axes_pad=0,
                share_all=True,
                cbar_location="right",
                cbar_mode="single",
                cbar_size="3%",
                cbar_pad=0.0,
                )
<Plotting commands for bottom row . . .>
StemPlot = plt.subplot(313)
<plotting commands for bottom stem plot>

编辑:颜色图中的空白是有意的,而不是添加颜色栏的一些神器