我想使用python matplotlib库创建一个stackplot,我在下面的伪代码中做了
plt.stackplot(x,
[first_value, second_value, third_value],
colors=['color1','color2','color3'])
但是我想在每个部分(即first_value,second_value,third_value)添加不同的阴影,但hatch
命令适用于整个图。如何将堆栈图传递给不同的阴影列表?
答案 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()