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

Matplotlib绘制散点图时Y轴刻度标签重叠问题求助

解决Matplotlib散点图Y轴刻度标签重叠问题

针对你遇到的Y轴日期刻度标签重叠问题,给你几个直接有效的解决方法:

  • 调整图表尺寸,给Y轴预留足够空间
    绘图前先设置更大的纵向尺寸,让标签有足够空间展开:

    import matplotlib.pyplot as plt
    
    # 先设置图表尺寸,纵向调大
    plt.figure(figsize=(8, 12))
    startdate = data['FieldActivityStartDate']
    plt.scatter(latitude, startdate, color='green')
    plt.xlabel('Latitude')
    plt.ylabel('Field Start Date')
    plt.show()
    
  • 利用日期自动格式化工具优化Y轴刻度
    用Matplotlib的日期模块自动处理刻度间隔和标签格式,避免重叠:

    import matplotlib.pyplot as plt
    import matplotlib.dates as mdates
    
    plt.figure(figsize=(8, 10))
    startdate = data['FieldActivityStartDate']
    plt.scatter(latitude, startdate, color='green')
    plt.xlabel('Latitude')
    plt.ylabel('Field Start Date')
    
    # 获取Y轴对象,设置日期定位器和格式化器
    ax = plt.gca()
    # 按周设置刻度间隔(可根据数据密度调整为DayLocator/MonthLocator)
    ax.yaxis.set_major_locator(mdates.WeekdayLocator())
    # 设置日期显示格式,比如简化为月-日
    ax.yaxis.set_major_formatter(mdates.DateFormatter('%m-%d'))
    # 自动旋转Y轴标签,避免拥挤
    plt.setp(ax.get_yticklabels(), rotation=45, ha='right')
    
    plt.show()
    
  • 手动过滤重复/密集的刻度标签
    如果日期数据有大量重复,可先对日期去重,再手动设置Y轴刻度:

    import matplotlib.pyplot as plt
    
    plt.figure(figsize=(8, 10))
    startdate = data['FieldActivityStartDate']
    plt.scatter(latitude, startdate, color='green')
    plt.xlabel('Latitude')
    plt.ylabel('Field Start Date')
    
    ax = plt.gca()
    # 获取去重后的日期,作为刻度
    unique_dates = startdate.unique()
    ax.set_yticks(unique_dates)
    # 旋转标签优化显示
    plt.setp(ax.get_yticklabels(), rotation=45, ha='right')
    
    plt.show()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 23:47:18