Python 如何格式化matplotlib堆叠面积图表轴以仅显示给定范围?

Python 如何格式化matplotlib堆叠面积图表轴以仅显示给定范围?,python,python-3.x,matplotlib,charts,graphics,Python,Python 3.x,Matplotlib,Charts,Graphics,我正在尝试创建一个简单的堆叠面积图。这是我的密码: x = [1990,1995,2000,2005,2010] y = [df['a'],df['b'],df['c']] ... plt.stackplot(x,y, labels=['a,b,c'], ...) ... plt.show() 但是,创建的图形上的x轴以2.5的间隔向上移动,因此看起来如下所示: 1990.01992.51995.0 如何更改它以使在x轴上创建的图形以5的间隔向上移动?您可以创建一个子图,并设置x轴的主要和次要

我正在尝试创建一个简单的堆叠面积图。这是我的密码:

x = [1990,1995,2000,2005,2010]
y = [df['a'],df['b'],df['c']]
...
plt.stackplot(x,y, labels=['a,b,c'], ...)
...
plt.show()
但是,创建的图形上的x轴以2.5的间隔向上移动,因此看起来如下所示: 1990.01992.51995.0


如何更改它以使在x轴上创建的图形以5的间隔向上移动?

您可以创建一个子图,并设置x轴的主要和次要定位器,如下所示:

import matplotlib.pyplot as plt
from matplotlib.ticker import (AutoMinorLocator, MultipleLocator)
fig, ax = plt.subplots()
ax.set_xlim(1990, 2015)

ax.xaxis.set_major_locator(MultipleLocator(5))
ax.xaxis.set_minor_locator(AutoMinorLocator(1))
plt.stackplot(x,y, labels=['a,b,c'], ...)
plt.show()