You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matplotlib使用matshow绘制热力图时如何显示全部刻度标签

问题根源

ax.matshow()方法调用时会自动重置坐标轴的刻度、定位器配置,你在调用该方法前设置的刻度参数会被直接覆盖,因此无法生效。

修复方案

调整代码执行顺序,先完成热力图绘制,再配置刻度和对应标签即可,完整可运行代码如下:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

names = list('ABCDEDFGHIJKLMNOPQRSTU')
# 生成随机测试数据
df = pd.DataFrame(np.random.randint(0,100,size=(100, 22)), columns=names)

fig = plt.figure()
ax = fig.add_subplot(111)

cor_matrix = df.corr()

# 先绘制热力图
ax.matshow(cor_matrix)

# 再设置刻度位置和对应的标签
ax.set_xticks(np.arange(len(names)))
ax.set_xticklabels(names)
ax.set_yticks(np.arange(len(names)))
ax.set_yticklabels(names)

plt.show()

如果不需要自定义字母标签,仅需要显示全部数字索引刻度,仅需要把原代码中set_xticks、set_yticks两行移动到ax.matshow(cor_matrix)之后即可。


内容的提问来源于stack exchange,提问作者harcipulyka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 20:48:03