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

如何修改Matplotlib直方图的X轴为自定义文本刻度?

解决Matplotlib直方图自定义X轴刻度标签的问题

直接传字符串列表给plt.xticks()会报错,因为这个函数需要先指定刻度的坐标位置,再对应设置标签字符串;只传标签的话,Matplotlib不知道该把这些文字放在X轴的哪个位置。

修复后的完整代码

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(1,30)
# 捕获hist返回的bin边界值,这是调整刻度的关键
n, bins, patches = plt.hist(x, bins=10, edgecolor='k')
plt.title('Histogram')

# 计算每个bin的中心位置作为刻度点
bin_centers = (bins[:-1] + bins[1:]) / 2
# 传入位置+对应标签,完成自定义刻度
plt.xticks(bin_centers, [
    'first','second','third','fourth','fifth',
    'sixth','seventh','eighth','ninth','tenth'
])

plt.show()

额外说明

  • 如果你想把标签放在每个bin的左边界,直接用bins[:-1]作为位置参数;想放在右边界就用bins[1:]
  • 必须保证标签数量和刻度位置数量一致(这里都是10个,刚好对应10个bin)

内容的提问来源于stack exchange,提问作者Elsaid Sami Elsaid Mohamed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 04:17:13