2015-07-08 7 views

risposta

7

È possibile eseguire questa operazione sovrascrivendo un Rectangle patch nella cella che si desidera evidenziare. Usando la trama esempio dal seaborn docs

import seaborn as sns 
import matplotlib.pyplot as plt 
sns.set() 
flights = sns.load_dataset("flights") 
flights = flights.pivot("month", "year", "passengers") 
g = sns.clustermap(flights) 

possiamo evidenziare una cella facendo

from matplotlib.patches import Rectangle 
ax = g.ax_heatmap 

ax.add_patch(Rectangle((3, 4), 1, 1, fill=False, edgecolor='blue', lw=3)) 
plt.show() 

Questo produrrà la trama con una cella evidenziata in questo modo:

enter image description here

Nota l'indicizzazione delle celle è a 0 in base all'origine in basso a sinistra.

+0

Questo è semplicemente meraviglioso, grazie mille! Ho anche un caso più complesso: cosa succede se più celle evidenziate si toccano e voglio disegnare bordi attorno a loro, ma eliminare i bordi interni all'interno di un blocco di celle evidenziate? Forse dovrei aprire una nuova domanda per questo? –

+0

Rispondendo a me stesso, penso di poterlo fare con un cerotto Polygon, grazie Simon! –