matplotlib tweek标签算法?

s4chpxco  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(323)

matplotlib有一些非常复杂的代码来计算如何显示标签,但有时它会对标签进行压缩,而不是在演示文稿上看起来很好。有没有办法把它弄脏?
例如,假设我们正在根据日期绘制某些内容:

figure = plt.figure(figsize=(8,1))
ax = plt.gca()
ax.set_xlim(xmin=np.datetime64('2010'), xmax=np.datetime64('2020-04-01'))

我们得到的x轴如下:

但是如果我们想让它显示更多间隔的年份,比如:

在任何情况下,我们都可以通过“机械地”编辑标签来混淆它。例如。:

ax.set_xticks([tick for i, tick in enumerate(ax.get_xticks()) if i%2==0]) # Every other year.
ax.xaxis.set_major_formatter(matplotlib.dates.DateFormatter("%Y"))

但这是脆弱的,只要x极限改变,它就会断裂。
有没有办法在勾选设置算法中强制增加间距?

zrfyljdw

zrfyljdw1#

哦找到matplotlib源代码,它让我找到了autodatelocator:

ax.xaxis.set_major_locator(matplotlib.dates.AutoDateLocator(maxticks=8))

非日期对应的定位器是maxnlocator。

相关问题