首页 > 解决方案 > Python pandas datetime plot xticks不在偶数间隙中

问题描述

使用 Python 3.7、Jupytermatplotlib 3.0.1、pandas 0.23.4(全部更新)时,pandas 日期图(datetime64 系列)的 xticks 出现了奇怪的空白。我怎样才能使间隙均匀?

import pandas as pd
import matplotlib.pyplot as plt
x = pd.date_range(start='1/1/2018', periods=80) # 80 days
y = pd.np.random.random(80)
plt.plot(x, y ,'o')
plt.xticks(rotation='vertical') 

在此处输入图像描述

标签: pythonpandasmatplotlibjupyter-notebook

解决方案


您可以使用WeekdayLocator “强制”刻度的位置:

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

x = pd.date_range(start='1/1/2018', periods=80) # 80 days
y = np.random.random(80)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x, y ,'o')
plt.xticks(rotation='vertical')
ax.xaxis.set_major_locator(mdates.WeekdayLocator(interval=1))
plt.show()

推荐阅读