如何为特定的数据设置xticks标签,而不是为每个数据设置?

问题描述 投票:0回答:2

我有一个这样格式的数据。

enter image description here

使用上面的数据,我用下面的代码创建了一个图形。

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()

下面是这个代码的结果。

Result of the code

每一个日期都有xticks标签。但是我想让xticks标签按每一周或每隔10天或以此类推来显示。我怎样才能做到这一点?

谢谢你的建议

python pandas dataframe matplotlib label
2个回答
0
投票

这是一个非常简单的方法。你可以设置参数 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()

enter image description here


0
投票

你应该先把日期栏设置成正确的类型。

df_amovie['date'] = pd.to_datetime(df_amovie['date'])

然后,如果你绘图,你可能会得到想要的结果。

© www.soinside.com 2019 - 2024. All rights reserved.