我的程序使用相同的颜色条绘制三个子图。这是代码:
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()
如何将网格绘制到子图中并更改刻度数?
答案 0 :(得分: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)