2017-08-11 134 views
3

我正在繪製多個熱圖。代碼如下:Matplotlib:如何刪除熱圖中的白線

import seaborn as sns 
import numpy as np 
import matplotlib.pyplot as plt 
FONTSIZE=20 
fig, axes = plt.subplots(nrows=1, ncols=4,figsize=(12,3)) 
k=0 
for ax in axes.flat: 
    mat = np.zeros((10,10)) + 0.5 
    im = ax.imshow(mat,interpolation='nearest', vmin=0.0, vmax=1.0,cmap='Reds') 
    ax.set_xlim([-0.5, 9.0 + 0.5]) 
    ax.set_ylim([-0.5, 9.0 + 0.5]) 
    ax.set_xticks([0,5]) 
    ax.set_yticks([0,5]) 
    ax.set_xlabel('X',fontsize=FONTSIZE) 
    if k == 0: 
     ax.set_ylabel('Y',fontsize=FONTSIZE) 
    ax.set_title('Title') 
    k += 1 
# Make an axis for the colorbar on the right side 
cax = fig.add_axes([0.99, 0.235, 0.03, 0.682]) 
cbar = fig.colorbar(im, cax=cax,ticks=[0.0,0.1,0.2,0.3,0.4]) 
cbar.ax.set_yticklabels(['0.0','0.1','0.2','0.3','0.4']) 
figtype = 'jpg' 
fig.tight_layout() 
fig.savefig('aaa.' + copy(figtype),format = figtype,bbox_inches='tight') 

下圖如下:

enter image description here

如何刪除在每個插曲的白線?這是驚人的。我發現如果我刪除import seaborn as sns,那麼白線就消失了。但在這種情況下,這個數字看起來會很糟糕。

我該如何去除白線,同時保持圖形的外觀與目前的相似?

謝謝大家的幫助!

回答

3

您可以通過

import matplotlib.pyplot as plt 
plt.rcParams["axes.grid"] = False 

這把電網關閉應導入seaborn之前完成。
在seaborn版本< 0.8 seaborn的導入自動將樣式設置爲darkgrid,其定義axes.grid : True。這需要如上所示恢復。