这是我的代码:
import datetime as dt
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
dates = ['2014-12-15','2015-11-07','2016-01-10']
x = [dt.datetime.strptime(d,'%Y-%m-%d').date() for d in dates]
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m/%d/%Y'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator())
plt.stackplot(x,[1,2,3],[7,8,3])
plt.gcf().autofmt_xdate()
plt.show()
它产生以下图:
如何修复它只有 3 个日期?我遵循以下示例:SO example
最佳答案
您只需使用以下命令设置xticks
:
plt.xticks(x)
只需在显示图形之前添加此行即可。 DayLocator
默认情况下显示每一天。就您而言,您之间有太多天数无法显示。您只需删除设置 Daylocator
的第 7 行,并将其替换为上面将刻度设置为您的日期的行。这是结果:
关于python - matplotlib 中的堆积面积图和日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42401422/