我从RNN输出中获得了一些基于时间序列的不同测量点的图,我可以分别绘制它们,但我想知道是否有可能连接/合并/合并 2个或更多图不断在一起?
以下是代码:
y_pred_test=model_RNN.predict(X_test)
df_test_RNN= pd.DataFrame.from_records(y_pred_test)
MSE=mean_squared_error(Y_test, y_pred_test)
print("Test MSE: " ,MSE)
print("Plot for 100 columns")
for i in range(40): #Here (3) cycles instead of (40) cycles for simplification
print("*"*50)
print("Cycle"+" :"+ " "+str(i) )
plt.plot(Y_test[i,:][0:100],'r-')
plt.plot(y_pred_test[i][0:100],'b-')
plt.show()
3个时间步或周期的结果:
预期结果(在Windows 7中通过绘制手动创建的3个循环的连续图):
我试图最小化wspace
,但没有以正确的方式工作。我还检查了此answer,这不是我的情况,因为它在同一张图中打印-在同一张图中的下一张打印。
如果有人可以帮助我,那就太好了!
答案 0 :(得分:0)
我建立了您要求使用正弦波的示例。 我不完全确定我们的数据是否均等,但这应该让您了解如何解决此问题:
if
这为我们提供了带有单个子图的图形:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
# parameters for our sine wave
fs = 100 # sample rate
f = 2 # the frequency of the signal
num_graphs = 3 #number of indiviudal graphs
x = []
y = []
# create 3 individual sine waves
for _ in range(num_graphs):
x.append(np.arange(fs))
y.append(np.sin(2*np.pi*f * (x[_]/fs)))
# create subplot for 3 indiviudal graphs
fig, axs = plt.subplots(nrows=1, ncols=3)
all_y = [] # create list to combine all y
for i in range(3):
# plot 3 individual curves
axs[i].plot(x[i], y[i],'r-') # plot individual
all_y.extend(y[i]) # extend all_y
在这里,我们绘制了合成图像: