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

如何对日期序列降采样选少量日期作为x轴标签与xticks避免重叠

X轴日期重叠解决方案
  • 调整X轴刻度密度
    如果你的X轴日期目前是字符串格式,需要先通过pd.to_datetime()转换成datetime格式,之后调用matplotlib的matplotlib.dates模块,根据你的时间跨度选择对应刻度间隔,比如时间跨度超过半年可以设置主刻度为每月,跨度1-2个月可以设置主刻度为每周,过滤掉多余的刻度。示例代码:
    import matplotlib.dates as mdates
    
    # ax为你绘图的子图对象
    # 主刻度设为每月
    ax.xaxis.set_major_locator(mdates.MonthLocator())
    # 刻度格式设为 年-月,也可以按需求改成 '%m-%d' 显示月日
    ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m'))
    
  • 旋转刻度标签
    直接对X轴刻度做旋转处理,避免横向挤压重叠:
    # 旋转45度,右对齐刻度避免文字偏移,可按需调整字号大小
    plt.xticks(rotation=45, ha='right', fontsize=9)
    
  • 自动适配画布布局
    绘图结束后调用plt.tight_layout(),自动调整画布边距,避免旋转后的刻度被画布边缘截断。
其他可读性优化方案
  • 添加Y轴网格线:设置浅色半透明网格,方便快速匹配数据点对应的确诊数值,代码示例:ax.yaxis.grid(True, linestyle='--', alpha=0.6)
  • 标注关键节点:如果有封控、解封、峰值等特殊时间点,可通过ax.axvline(x=特殊日期, color='red', linestyle='--')添加垂直参考线,配合文字标注突出关键信息。
  • 改用交互式绘图:如果是在Jupyter等场景使用,可改用plotly库绘图,生成的图表支持鼠标悬停查看任意日期的具体数值,也可框选放大局部时间段查看细节。
  • 拆分长周期数据:如果时间跨度超过2年,可按年份拆分生成多个子图并排/竖排展示,进一步降低单图X轴的刻度密度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 15:15:08