我有一个这样格式的数据。
使用上面的数据,我用下面的代码创建了一个图形。
from matplotlib import pyplot
pyplot.figure(figsize=(12,8))
pyplot.plot(df_movie['date'], df_movie['rate'], label = 'rating')
pyplot.xticks(rotation=90)
pyplot.legend(loc='best')
pyplot.grid()
pyplot.show()
下面是这个代码的结果。
每一个日期都有xticks标签。但是我想让xticks标签按每一周或每隔10天或以此类推来显示。我怎样才能做到这一点?
谢谢你的建议
这是一个非常简单的方法。你可以设置参数 interval
到7或10或任何其他你喜欢的值。
import matplotlib.pyplot as plt
import matplotlib.ticker as tkr
x = list('ABCDEFGHIJ')
y = [1,2,4,8,16,32,64,128,256,512]
fig, ax = plt.subplots(1)
interval = 2 # This parameter regulates the interval between xticks
plt.plot(x,y)
ax.xaxis.set_major_locator(tkr.MultipleLocator(interval))
plt.show()
你应该先把日期栏设置成正确的类型。
df_amovie['date'] = pd.to_datetime(df_amovie['date'])
然后,如果你绘图,你可能会得到想要的结果。