如何调整matplotlib柱状图x轴刻度间隔解决标签重叠问题
xlim() 仅用于调整x轴的数值显示范围,无法控制刻度的生成间隔,你需要使用plt.xticks()方法自定义要显示的刻度。
具体修改步骤:
- 首先将读取到的年份从字符串转为整型,方便后续生成间隔刻度
- 生成间隔为5年的刻度序列,传入
plt.xticks()即可实现需求 - 若调整后仍有轻微标签重叠,可额外增加旋转参数优化显示效果
修改后完整代码:
import matplotlib.pyplot as plt year = [] relative_recurrence = [] f = open('relative recurrence plot.txt', 'r') for row in f: row = row.split(' ') # 年份转为整型 year.append(int(row[0])) relative_recurrence.append(float(row[1])) plt.bar(year, relative_recurrence, color = 'g', label = 'HILDCAAS') # 自定义5年间隔的x轴刻度,range左闭右开所以结束值设为2018以覆盖到2017 plt.xticks(range(1975, 2018, 5)) # 可选:添加rotation参数旋转标签,进一步避免重叠 # plt.xticks(range(1975, 2018, 5), rotation=45) plt.show()
如果你不想硬编码年份范围,也可以用以下写法适配任意输入的年份跨度:
plt.xticks(range(min(year), max(year)+1, 5))
内容的提问来源于stack exchange,提问作者Prater
相关产品推荐
相关产品推荐

