1

我的程序使用相同的颜色条绘制三个子图。这是代码:

fig=pl.figure()
grid = AxesGrid(fig, 111,nrows_ncols=(3,1),
            axes_pad = 0.2,
            share_all=True,
            label_mode = "L",
            cbar_location = "right",
            cbar_mode="single",
            cbar_size='1%'
            )

im = grid[0].imshow(np.random.random((10,50)))  
grid.cbar_axes[0].colorbar(im)
im = grid[1].imshow(np.random.random((10,50)))
im = grid[2].imshow(np.random.random((10,50)))
pl.show()

这提供了以下图片:

不,我想先设置刻度数。例如,y 轴上有 3 个刻度,x 轴上有 10 个刻度。此外,我想在图片中绘制一个网格。但我的正常编码只有在我不使用 AxisGrid 时才有效:

fig=pl.figure()
im = imshow(np.random.random((10,50)))
pl.locator_params(axis='x',nbins=20)
pl.locator_params(axis='y',nbins=3)
pl.grid()
pl.show()

我该怎么做才能将网格绘制到我的子图中并更改刻度数?

4

1 回答 1

2

尝试这个:

im = grid[0].imshow(np.random.random((10,50)))  
ax = im.get_axes( )
ax.grid( 'on' )
ax.locator_params(axis='x',nbins=20)
ax.locator_params(axis='y',nbins=3)
于 2014-03-02T13:33:40.887 回答