我在创建需要多个折线图的情节时遇到了问题。
我想要的是一种方法来将这些中的每一个都绘制在另一个之上(例如,一个基线的y = 5我希望下一个基线的y = 10)并且这些图中的每一个都必须阻止一个它上面。
因此,这将不可避免地成为Joy Division未知乐趣的封面: http://cococubed.asu.edu/images/unknown_pleasures/unknown_pleasures.jpg
除了反色,我也想要一个使用python或numpy或matplotlib的答案。
答案 0 :(得分:3)
这是一种方式。关键点是使用fill_between函数并使每个绘制的线偏移一些边距(在这种情况下为i*2
)。此外,绘图必须从顶部开始,因此在arange切片中为[:: - 1]。
t=linspace(-2*pi, 2*pi, 1000)
for i in arange(1, pi, 0.01)[::-1]:
left = exp(-(t + (i - 1) * 2*pi)**2) * cos(t * i)**2 - 1
right = exp(-(t - (i - 1) * 2*pi)**2) * cos(t * i)**2 - 1
vertical_offset = i*2
fill_between(t, vertical_offset + left + right, facecolor='white')