如何在python中将两个或多个地块连续地连接或连接或合并?

时间:2019-03-21 11:56:36

标签: python matplotlib

我从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个时间步或周期的结果: img

预期结果(在Windows 7中通过绘制手动创建的3个循环的连续图): img 我试图最小化wspace,但没有以正确的方式工作。我还检查了此answer,这不是我的情况,因为它在同一张图中打印-在同一张图中的下一张打印。

如果有人可以帮助我,那就太好了!

1 个答案:

答案 0 :(得分:0)

我建立了您要求使用正弦波的示例。 我不完全确定我们的数据是否均等,但这应该让您了解如何解决此问题:

if

这为我们提供了带有单个子图的图形:

'Individual subplots of sine curves'

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

在这里,我们绘制了合成图像:

'Combined sine curve matplotlib graph'