在多个子批次中使用mdates.ConciseDateFormatter
会在轴上产生错误偏移:
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
dti = pd.to_datetime(["2016-08-31", "2016-09-30"])
ts0 = pd.DataFrame({"x": [0, 1]}, index=dti)
ts1 = pd.DataFrame({"x": [0, 1]}, index=dti + pd.Timedelta(365, "D"))
fig, axs = plt.subplots(2, 1, sharex=False)
ts0["x"].plot(ax=axs[0], marker="o")
ts1["x"].plot(ax=axs[1], marker="o")
dlocator = mdates.AutoDateLocator(minticks=6, maxticks=9)
axs[0].xaxis.set_major_locator(dlocator)
axs[0].xaxis.set_major_formatter(mdates.ConciseDateFormatter(dlocator))
axs[1].xaxis.set_major_locator(dlocator)
axs[1].xaxis.set_major_formatter(mdates.ConciseDateFormatter(dlocator))
该图显示了在将主定位器和格式化程序指定给底部打印时,顶部打印的x轴刻度标签被弄乱。是否有解决此错误或问题的方法
axes
实例化AutoDateLocator
locator
对象会发生更改,因此,它不能再用于后续的axes
李>python 3.8.11
、pandas 1.3.3
、matplotlib 3.4.3
绘图设置代码
选择1
选择2
绘图结果
相关问题 更多 >
编程相关推荐