如何在python中以可视方式将多个折线图叠加在一起?

时间:2013-07-15 20:28:22

标签: python graph matplotlib

我在创建需要多个折线图的情节时遇到了问题。

我想要的是一种方法来将这些中的每一个都绘制在另一个之上(例如,一个基线的y = 5我希望下一个基线的y = 10)并且这些图中的每一个都必须阻止一个它上面。

因此,这将不可避免地成为Joy Division未知乐趣的封面:            http://cococubed.asu.edu/images/unknown_pleasures/unknown_pleasures.jpg

除了反色,我也想要一个使用python或numpy或matplotlib的答案。

1 个答案:

答案 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')