【发布时间】:2021-09-03 03:36:24
【问题描述】:
我正在按以下方式循环绘制图像:
plt.figure(figsize=(20, 35))
for i in range(len(batchX)): # 32 images
plt.subplot(8, 4, 1 + i)
plt.title("IMG{} - Pred: {}, GT: {}".format(i+1, classes[int(pred[i][0])], classes[int(batchy[i])]))
plt.imshow(batchX[i])
plt.tight_layout()
plt.show()
我想根据特定条件更改每个图的背景颜色(您可能已经猜到,当预测等于或不等于基本事实时)。
我尝试在 imshow() 之前的循环中添加它:
if classes[int(pred[i][0])] == classes[int(batchy[i])]:
plt.gcf().set_facecolor("green")
else:
plt.gcf().set_facecolor("red")
但是,只有最后一次 plt.gcf() 调用将被考虑在内,因为当 plt.show() 运行时,它将查看颜色设置,使所有背景变为绿色或红色。
我还能通过什么其他方式实现这一目标?
【问题讨论】:
-
我正在尝试获取包含所有图的单个图像。
标签: python matplotlib plot data-visualization