直接的解决方案是不仅设置xticklabel,还设置刻度线:
ax.set_xticks(frame.dayofweek.values)
ax.set_xticklabels(frame.index)
使用FixedLocator和FixedFormatter可以完成相同的操作,
ax.xaxis.set_major_locator(matplotlib.ticker.FixedLocator(frame.dayofweek.values))
ax.xaxis.set_major_formatter(matplotlib.ticker.FixedFormatter(frame.index))
但对于此简单任务而言似乎完全没有必要。