我正在使用imshow
绘制稀疏矩阵,并希望将0个条目涂成黑色。我遵循了this answer中的建议,但是我的绘图中0项仍然为白色,这是令人困惑的,因为权重最高的项是黄色。非常感谢您的帮助。
这是我的代码:
cmap1 = cm.get_cmap('inferno', 128)
cmap1.set_under(color='black')
im_plot = ax1.imshow(P_im,cmap=cmap1,norm=LogNorm(vmin=1e-30, vmax=np.max(P_im)+1e-15))
ax1.set_title("Title",size=10)
答案 0 :(得分:1)
检查此代码:
from matplotlib import cm
import numpy as np
import matplotlib.pyplot as plt
fig, ax1 = plt.subplots(1, 1, figsize = (4, 4))
x = np.random.binomial(n = 1, p = 0.1, size = (20, 20))
cmap1 = cm.get_cmap('Greys_r', 2)
im_plot = ax1.imshow(x, cmap = cmap1)
ax1.set_title("Title", size = 10)
plt.show()
这给了我这张图片:
我用x = np.random.binomial(n = 1, p = 0.1, size = (20, 20))
生成了一个随机稀疏矩阵,将其替换为您的数据。