如何在matplotlib中删除颜色图?

时间:2018-09-02 19:59:47

标签: matplotlib colormap

我有以下代码:

fig, ax = plt.subplots()
fig.set_size_inches(10, 10, forward=True)
min_val, max_val = 0, 28

inputBild = np.round(np.reshape(inputBild, [28, 28]), 1)
plt.imshow(inputBild)

for i in range(28):
    for j in range(28):
        c = inputBild[j,i]
        ax.text(i, j, str(c), va='center', ha='center')
ax.set_facecolor((1.0, 0.47, 0.42))
plt.savefig('/tmp/inputMitZahlOhneCmap.png', bbox_inches='tight')

inputBild是mnist数据集的随机图像。

我只想绘制数字而不是颜色图。 如果我什至没有指定一个,如何删除它?

1 个答案:

答案 0 :(得分:0)

当您说“仅绘制数字”时,我不确定是否要散点图,但查看imshow的用法后,我想您要隐藏颜色栏。这是一个示例:

带有颜色栏

import matplotlib.pyplot as plt 
import numpy as np
fig = plt.figure() 
ax = fig.add_subplot(111) 
data = np.random.rand(100, 100) 
cax = ax.imshow(data) 
cbar = plt.colorbar(cax) # This line includes the color bar

enter image description here

没有颜色栏

import matplotlib.pyplot as plt 
import numpy as np
fig = plt.figure() 
ax = fig.add_subplot(111) 
data = np.random.rand(100, 100) 
cax = ax.imshow(data) 

enter image description here

删除颜色栏:方法1 (不显示代码的初始行)

data = np.random.rand(100, 100) 
cax = ax.imshow(data) 
cbar = plt.colorbar(cax) 
cbar.remove()

删除颜色栏:方法2 (不显示代码的初始行)

data = np.random.rand(100, 100) 
cax = ax.imshow(data) 
plt.colorbar(cax) 
plt.delaxes(fig.axes[1]) # axes[0] correspond to the main plot.

输出方法1和2

enter image description here