Matplotlib stackplot()创建面积图(附带实例)
面积图主要用于展示数据随时间的变化情况。如需创建面积图,可以使用 pyplot 模块中的 stackplot() 函数或 Axes 对象的 stackplot() 方法。
下面的代码是使用 Axes 对象的 stackplot() 方法:

图 1 面积图
下面的代码为 3 组数据创建堆积面积图:

图 2 堆积面积图
创建基本面积图
stackplot() 函数或 stackplot() 方法的第一个参数 x 表示要创建面积图的各个点的 x 轴坐标,第二个参数 y 表示各个点的 y 轴坐标,创建面积图时必须指定这两个参数,其他参数都是关键字参数。下面的代码是使用 Axes 对象的 stackplot() 方法:
import matplotlib.pyplot as plt x = range(1, 7) y = [30, 10, 50, 20, 60, 70] fig, ax = plt.subplots() ax.stackplot(x, y) plt.show()程序创建下图所示的面积图:

图 1 面积图
创建堆积面积图
堆积面积图由多组数据组成,这些数据的 x 轴坐标相同,而 y 轴坐标不相同。下面的代码为 3 组数据创建堆积面积图:
import matplotlib.pyplot as plt x = range(1, 7) y1 = [30, 10, 50, 20, 60, 70] y2 = [20, 50, 70, 60, 10, 30] y3 = [60, 70, 30, 20, 50, 10] fig, ax = plt.subplots() ax.stackplot(x, y1, y2, y3) plt.show()效果如下图所示:

图 2 堆积面积图