2017-01-20 120 views
1

我想在网格中绘制多个图,并标注其x和y刻度线即:Matplotlib LocatableAxes XTICK标签

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


im = np.arange(100) 
im.shape = 10, 10 

fig = plt.figure(1, (4., 4.)) 
grid = ImageGrid(fig, 111, # similar to subplot(111) 
       nrows_ncols=(2, 2), # creates 2x2 grid of axes 
       axes_pad=0.1, # pad between axes in inch. 
       ) 

for i in range(4): 
    grid[i].imshow(im) # The AxesGrid object work as a list of axes. 
    grid[i].set_xticks(np.arange(im.shape[0])) 
    grid[i].set_yticks(np.arange(im.shape[0])) 

plt.show() 

enter image description here

我该如何更改这些刻度标签来说["a", "b", "c", ... "j"]

我已经试过grid[i].set_xtickslabels()虽然我得到的错误:
AttributeError: 'LocatableAxes' object has no attribute 'set_xtickslabels'

+1

你是方法错误的正确名称是'set_xticklabels' – Serenity

回答

2

这是set_xticklabels,例如:

grid[i].set_xticklabels(["a","b","c"]) 
+0

嗯,这是愚蠢的。 –