如何在python中连续绘制附图

时间:2016-06-22 12:44:39

标签: python numpy matplotlib

我使用下面的python代码将不同子图中的图附加到一个[第六个]子图中。第六个子图中的连续图之间存在中断(该线不连续)。如何消除这些连续图之间的断裂并使它们连续?

有人可以帮助我吗?

import numpy as np
import matplotlib.pyplot as plt

x1=np.linspace(0,20,1000);
x2=np.linspace(20,40,1000);
x3=np.linspace(40,60,1000);
x4=np.linspace(60,80,1000);
x5=np.linspace(80,100,1000);

y1=(np.sin(3*x1)**3);
y2=np.cos(1*x2);
y3=np.sin(2*x3)**(2);
y4=np.cos(2*x4)**(3);
y5=np.sin(x5)*np.cos(x5);

plt.subplot(6,1,1)
plt.plot(x1,y1)
plt.grid() 

plt.subplot(6,1,2)
plt.plot(x2,y2)
plt.grid() 

plt.subplot(6,1,3)
plt.plot(x3,y3)
plt.grid() 

plt.subplot(6,1,4)
plt.plot(x4,y4)
plt.grid() 

plt.subplot(6,1,5)
plt.plot(x5,y5)
plt.grid()

plt.subplot(6,1,6)
plt.plot(x1,y1)
plt.plot(x2,y2)
plt.plot(x3,y3)
plt.plot(x4,y4)
plt.plot(x5,y5)
plt.grid()
plt.show()

enter image description here

1 个答案:

答案 0 :(得分:2)

只需在附加数据的情况下绘制一行。

plt.subplot(6,1,6)
x6 = np.concatenate((x1, x2, x3, x4, x5))
y6 = np.concatenate((y1, y2, y3, y4, y5))
plt.plot(x6, y6) instead of calling 5 times

现在你只是绘制一条连续线。