2012-08-11 7 views
22

ich mit einer Heatmap in matplotlib am Plotten:Wie man Heatmap mit Text in Matplotlib annotieren?

plt.pcolor(rand(5,5))

wie kann ich die Heatmap mit den tatsächlichen Zahlen aufgetragen annotieren? Bezeichnen Sie in jeder Zelle der gezeichneten Heatmap den Wert, der dieser Zelle in der 5x5-Matrix entspricht, die an pcolor übergeben wird. Vielen Dank.

Antwort

40

Es gibt keine automatische Funktion, so etwas zu tun, aber man konnte jeden Punkt Schleife durch und Text in der entsprechenden Stelle setzen:

import matplotlib.pyplot as plt 
import numpy as np 

data = np.random.rand(5, 4) 
heatmap = plt.pcolor(data) 

for y in range(data.shape[0]): 
    for x in range(data.shape[1]): 
     plt.text(x + 0.5, y + 0.5, '%.4f' % data[y, x], 
       horizontalalignment='center', 
       verticalalignment='center', 
       ) 

plt.colorbar(heatmap) 

plt.show() 

Code output

HTH

+0

Hallo .. Könnten Sie bitte helfen Sie mir mit dieser Questio: http://stackoverflow.com/questions/30832216/heat-map-annotation-with-text –

4

Die Seaborn Heatmap erledigt den Job automatisch, indem er annot=True einstellt.

Siehe this für ein Beispiel.

Verwandte Themen