2016-06-09 66 views
1

我有以下代碼:Pyplot imshow顏色表不工作

plt.figure(figsize=(15, 20)) 
min_v = np.min(net_l0) 
max_v = np.max(net_l0) 
for i in range(8): 
    for j in range(4): 
     num = i*4 + j 
     plt.subplot(8,4, num+1) 
     w_filt = net_l0[num, :3] 
     w_filt = w_filt.swapaxes(0, 1).swapaxes(1, 2) 
     imgplot = plt.imshow(w_filt, vmin=min_v, vmax=max_v, interpolation='none') 
     imgplot.set_cmap('gray') 
     plt.colorbar() 
plt.show() 

出於某種原因,然而,顏色表不應用於圖像僅在顏色條?我試過並將cmap關鍵字添加到imshow,但仍然無效。任何想法我做錯了什麼?

+0

你能用最小的工作例子重現這一點嗎,例如使用一些隨機數據?我從來沒有見過這個問題;指定例如'plt.imshow(...,cmap = plt.cm.gray)'應該可以工作。 – Bart

回答

0

確保您顯示的數組實際上是二維的。如果您(例如)加載實際上具有三個通道的灰度圖像,則imshow會高興地向您顯示圖像,但不會將顏色圖應用於該圖像。畢竟,圖片「已經是色彩」了。