MNIST Matplotlib:显示颜色

MNIST Matplotlib:显示颜色,matplotlib,keras,mnist,Matplotlib,Keras,Mnist,我正在探索MNIST数据集,它是一组灰度手写数字图像。我正在使用Matplotlib从数据集中打印随机图像: plt.subplot(221) plt.imshow(X_train[1],cmap='gray') plt.subplot(222) plt.imshow(X_train[100]) plt.subplot(223) plt.imshow(X_train[4559]) plt.subplot(224) plt.imshow(X_train[50000]) plt.show() 我

我正在探索MNIST数据集,它是一组灰度手写数字图像。我正在使用Matplotlib从数据集中打印随机图像:

plt.subplot(221)
plt.imshow(X_train[1],cmap='gray')
plt.subplot(222)
plt.imshow(X_train[100])
plt.subplot(223)
plt.imshow(X_train[4559])
plt.subplot(224)
plt.imshow(X_train[50000])
plt.show()

我的问题是,当我没有明确设置
cmap='gray'
时,为什么图像会显示为彩色


它们是否应该默认显示为灰度图像,因为这是它们的真实本质?

这是因为,默认情况下,imshow()使用“viridis”作为cmap。

没有“真实本质”这样的东西。根据您要呈现的内容,您需要突出显示数据的不同属性。你甚至可以在大范围内拥有不同的动力。查看颜色映射上的此项matplotlib中的默认颜色映射为“viridis”。这是一个带有颜色的彩色地图,对于大多数需要绘制彩色表示的数据,彩色表示被认为是有用的。如果您的项目不是这样,您可以使用第一幅图像中的灰度彩色贴图。