如何绘制图像网格及其类别

时间:2019-05-27 14:29:08

标签: python pandas matplotlib plot

我正在尝试创建与此类似的情节。

this

我有几张图片,每张图片都有两个列表(两个列表都包含5个元素)。

我想用右边的两个列表绘制图像。由于有几张图片可以做到这一点,所以如果可以以图块/网格格式完成图片,那就太好了。

我的数据如下:

class0[i] = ['example0', 'example1', .., 'example4']
class1[i] = ['example0', 'example1', .., 'example4']

1 个答案:

答案 0 :(得分:1)

这里建议使用几乎可以是任何形状的轴网格,以及一个用于使类标签完全对齐的表格。

class0 = [['class0_{:d}'.format(i+1) for i in range(5)] for _ in range(10)]
class1 = [['class1_{:d}'.format(i+1) for i in range(5)] for _ in range(10)]

nrows, ncols = 5,2
fig, axs = plt.subplots(nrows, ncols*2, figsize=(2*ncols*2,2*nrows))
for img_ax,txt_ax,curr_class0,curr_class1 in zip(axs.flat[0::2], axs.flat[1::2], class0, class1):
    img_ax.imshow(np.random.random(size=(5,5)))

    text = [[c,d] for c,d in zip(curr_class0,curr_class1)]
    txt_ax.table(cellText=text, loc='center', edges='open')
    txt_ax.set_axis_off()

enter image description here