将matplotlib中的x轴移动到图表的顶部

11 浏览
0 Comments

将matplotlib中的x轴移动到图表的顶部

根据关于matplotlib中热图的此问题,我想将x轴标题移动到图表的顶部。

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)
# 将主要刻度放在每个单元格的中间
ax.set_xticks(np.arange(data.shape[0])+0.5, minor=False)
ax.set_yticks(np.arange(data.shape[1])+0.5, minor=False)
# 希望显示更自然、类似表格的样式
ax.invert_yaxis()
ax.xaxis.set_label_position('top') # <-- 这行代码不起作用!
ax.set_xticklabels(row_labels, minor=False)
ax.set_yticklabels(column_labels, minor=False)
plt.show()

然而,调用matplotlib的set_label_position(如上所示)似乎没有产生期望的效果。这是我的输出结果:

enter image description here

我做错了什么?

0