Matplotlib:具有不同阴影的stackplot

时间:2017-05-19 10:30:12

标签: python matplotlib plot

我想使用python matplotlib库创建一个stackplot,我在下面的伪代码中做了

plt.stackplot(x,
          [first_value, second_value, third_value], 
          colors=['color1','color2','color3'])

但是我想在每个部分(即first_value,second_value,third_value)添加不同的阴影,但hatch命令适用于整个图。如何将堆栈图传递给不同的阴影列表?

1 个答案:

答案 0 :(得分:8)

stackplot没有用于在不同多边形上单独设置阴影线的参数。因此,想法是循环不同的堆栈并设置相应的阴影线。

stackplot返回我们可以用于此目的的所有堆栈的列表。

import numpy as np; np.random.seed(1)
import matplotlib.pyplot as plt

fnx = lambda x: np.random.randint(5, 50, 10)
y = np.row_stack((fnx(0), fnx(0), fnx(0)))
x = np.arange(10)

fig, ax = plt.subplots()
stacks = ax.stackplot(x, y)

hatches=["\\", "//","+"]
for stack, hatch in zip(stacks, hatches):
    stack.set_hatch(hatch)

plt.show()

enter image description here