Как можно объединить или соединить или объединить 2 или более графиков вместе в Python? - PullRequest
0 голосов
/ 21 марта 2019

У меня есть несколько графиков из выходных данных 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

Ожидаемые результаты (непрерывные графики для 3 циклов, созданные вручную при рисовании вWindows 7): img Я пытался свернуть wspace, но не сработал правильно.Я также проверяю этот ответ , который не является моим случаем, поскольку он печатает на том же графике - один под другим на том же графике (изображение).

Было бы хорошо, если кто-то может мне помочь!

1 Ответ

0 голосов
/ 21 марта 2019

Я строю пример, который вы просили использовать синусоиды. Я не совсем уверен, что наши данные сформированы одинаково, но это должно дать вам представление о том, как решить эту проблему:

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

Это дает нам график с отдельными подзаговорами:

'Individual subplots of sine curves'

# create new subplot for combined graph
fig, axs = plt.subplots(nrows=1, ncols=1)
axs.plot(range(len(all_y)), all_y)

И здесь мы строим наше объединенное изображение:

'Combined sine curve matplotlib graph'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...