Sie können benutzerdefinierte Anmerkungen zu Ihrer Heatmap mit Seaborn hinzufügen. Dies ist im Prinzip nur ein Spezialfall von this answer. Die Idee besteht jetzt darin, die Zeichenfolge und die Zahlen zusammenzufassen, um die richtigen benutzerdefinierten Bezeichnungen zu erhalten. Wenn Sie ein Array strings
von der gleichen Form wie result
haben, die die jeweiligen Etiketten enthält können Sie sie hinzufügen, zusammen mit:
labels = (np.asarray(["{0} {1:.3f}".format(string, value)
for string, value in zip(strings.flatten(),
results.flatten())])
).reshape(3, 4)
Jetzt können Sie dieses Label Array als benutzerdefinierte Etiketten verwenden für Ihre Heatmap:
sns.heatmap(result, annot=labels, fmt="", cmap='RdYlGn', ax=ax)
Wenn Sie diese zusammen einige zufällige Eingangsdaten unter Verwendung der Code wie folgt aussehen:
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
results = np.random.rand(4, 3)
strings = strings = np.asarray([['a', 'b', 'c'],
['d', 'e', 'f'],
['g', 'h', 'i'],
['j', 'k', 'l']])
labels = (np.asarray(["{0} {1:.3f}".format(string, value)
for string, value in zip(strings.flatten(),
results.flatten())])
).reshape(4, 3)
fig, ax = plt.subplots()
sns.heatmap(results, annot=labels, fmt="", cmap='RdYlGn', ax=ax)
plt.show()
das Ergebnis wird wie folgt aussehen :
Wie Sie sehen können, werden nun die Saiten auf die Werte in den Anmerkungen korrekt hinzugefügt.