python - 如何格式化 matplotlib 堆积面积图轴以仅显示给定的范围?

标签 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.0、1992.5、1995.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()

关于python - 如何格式化 matplotlib 堆积面积图轴以仅显示给定的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58509235/

相关文章:

python - 无法在 Heroku 中安装库

javascript - 如何从React Form -> Flask Backend -> React Component传递数据(和CORS有关系吗)?

python - 在 Ubuntu 上使用 python 打开磁力链接

python - matplotlib 中的曲面和 3d 轮廓

python - 更改现有图形的样式

python - 在数据框中动态拆分行

python - 如何将样式应用于 Django 表单?

python - 将字节数组从\xff 转换为 x0FF

python3中的多线程

Matplotlib 表 : individual column width