【问题标题】:Editing the x-axis tick labels of a stacked bar graph in matplotlib在 matplotlib 中编辑堆积条形图的 x 轴刻度标签
【发布时间】:2013-03-31 09:12:56
【问题描述】:

我编写了代码来生成一个堆积条形图,它绘制了 192 个数据条。数据跨越 4 天,每条代表 30 分钟的时间段。

该图产生了 192 个相互重叠的刻度标签,这在外观上显然是不可取的。

为了解决这个问题,我在代码中添加了以下几行:

myFmt = mdates.DateFormatter('%d')
ax.xaxis.set_major_formatter(myFmt)

我希望每天都有一个刻度标签,但是当我的图表跨越 4 天或更短时间时,matplotlib 会自动生成不需要的额外刻度标签。当有 5 天或更多天时,不会发生此问题。有什么办法可以强制图表每天只有一个刻度?

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    您只需要使用正确的定位器:

    ax.xaxis.set_major_locator(matplotlib.dates.DayLocator())
    

    (doc)

    【讨论】:

    • 你知道限制滴答数的方法吗?例如,如果我的 x 轴上有 60 天,有没有办法减少刻度数以使它们不重叠?
    • @OsmondBishop 查看文档链接。 kwarg interval 将设置天之间的间隔。 matplotlib.dates.DayLocator(interval=2) 将每隔一天标记一次。