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

如何为X轴添加次级标签层级?实现日期轴下方显示月份名称

为Matplotlib图表添加次级X轴(月份标签)

基于你提供的主X轴代码,以下是添加次级X轴(显示月份名称,位于主X轴下方)的实现方案:

完整代码示例

import matplotlib.dates as mdates

# 你的原有主X轴设置代码
plot={}
plot['W']=axs[0]
plot['W'].xaxis.set_major_formatter(mdates.DateFormatter('%d'))
plot['W'].xaxis.set_minor_locator(mdates.HourLocator(interval=6))
plot['W'].xaxis.set_major_locator(mdates.DayLocator(interval=1))

# 添加次级X轴(显示月份名称)
# 创建位于主X轴下方的次级轴,-0.1为垂直偏移量,可按需调整
sec_xaxis = plot['W'].secondary_xaxis(-0.1)
# 设置次级轴定位器为每月起始,格式化器为完整月份名称
sec_xaxis.xaxis.set_major_locator(mdates.MonthLocator())
sec_xaxis.xaxis.set_major_formatter(mdates.DateFormatter('%B'))
# 隐藏次级轴的刻度线,让布局更简洁(匹配目标效果)
sec_xaxis.tick_params(axis='x', which='both', length=0)

关键说明

  • secondary_xaxis(-0.1):创建次级X轴,参数-0.1控制轴在主X轴下方的距离,数值可根据图表高度调整(比如-0.12会更靠下)。
  • MonthLocator():自动定位每个月的第一天,确保月份标签对应正确的时间区间。
  • DateFormatter('%B'):将日期格式化为英文完整月份名称(如April、May),如果需要中文月份,可改用'%m月'或对应中文格式符。
  • 隐藏刻度线:通过tick_params去掉次级轴的刻度线,让视觉效果更贴合目标示意图。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 07:22:37