2017-08-11 6 views
3

Ich zeichne mehrere Heatmaps. Der Code lautet wie folgt:Matplotlib: So entfernen Sie weiße Linien in der Heatmap

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') 

Die Figur ist wie folgt:

enter image description here

Wie kann ich die weißen Linien in jedem subplot entfernen? Es ist erstaunlich. Ich finde, dass, wenn ich die import seaborn as sns entferne, dann die weißen Linien verschwinden. Aber in diesem Fall wird die Figur hässlich aussehen.

Wie kann ich die weißen Linien entfernen und in der Zwischenzeit das Aussehen der Figur ähnlich der aktuellen suchen?

Vielen Dank für Ihre Hilfe!

Antwort

3

Sie können das Raster ausschalten über

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

Dies sollte vor dem Import Seaborn erfolgen.
In seaborn Version < 0.8 der Import von Seaborn setzt automatisch den Stil auf die darkgrid, die axes.grid : True definiert. Dies müsste wie oben gezeigt rückgängig gemacht werden.

Verwandte Themen