Basierend auf dieser Frage zu Heatmaps in matplotlib wollte ich die Titel der x-Achse an den oberen Rand des Diagramms verschieben.
import matplotlib.pyplot as plt
import numpy as np
column_labels = list('ABCD')
row_labels = list('WXYZ')
data = np.random.rand(4,4)
fig, ax = plt.subplots()
heatmap = ax.pcolor(data, cmap=plt.cm.Blues)
# put the major ticks at the middle of each cell
ax.set_xticks(np.arange(data.shape[0])+0.5, minor=False)
ax.set_yticks(np.arange(data.shape[1])+0.5, minor=False)
# want a more natural, table-like display
ax.invert_yaxis()
ax.xaxis.set_label_position('top') # <-- This doesn't work!
ax.set_xticklabels(row_labels, minor=False)
ax.set_yticklabels(column_labels, minor=False)
plt.show()
Das Aufrufen von set_label_position von matplotlib (wie oben angegeben) scheint jedoch nicht den gewünschten Effekt zu haben. Hier ist meine Ausgabe:
Was mache ich falsch?
python
matplotlib
plot
data-visualization
Jason Sundram
quelle
quelle
Sie wollen
set_ticks_position
eher alsset_label_position
:Das gibt mir:
quelle
tick_params ist sehr nützlich zum Festlegen von Tick-Eigenschaften. Beschriftungen können mit folgenden Elementen nach oben verschoben werden:
quelle
False
undTrue
funktionieren ansonsten perfekt!Sie müssen extra massieren, wenn die Zecken (keine Beschriftungen) oben und unten (nicht nur oben) angezeigt werden sollen. Ich kann dies nur mit einer geringfügigen Änderung des Codes von unutbu tun:
Ausgabe:
quelle