Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 绘制for循环中的所有变量_Python_Matplotlib - Fatal编程技术网

Python 绘制for循环中的所有变量

Python 绘制for循环中的所有变量,python,matplotlib,Python,Matplotlib,我想绘制X\u train1\u raw X_train1_raw.shape (2039, 17) 根据: n_splits = 5 tscv = TimeSeriesSplit(n_splits = n_splits) plt.figure(1) index = 1 fig, ax = plt.subplots(2, 1, figsize=(24,7)) plt.style.use('seaborn-white') fig.suptitle('', fontsize=20) fig.ti

我想绘制
X\u train1\u raw

X_train1_raw.shape
(2039, 17)
根据:

n_splits = 5
tscv = TimeSeriesSplit(n_splits = n_splits)

plt.figure(1)
index = 1
fig, ax = plt.subplots(2, 1, figsize=(24,7))
plt.style.use('seaborn-white')
fig.suptitle('', fontsize=20)
fig.tight_layout()
for train_index, val_index in tscv.split(X_train1_raw):
    X_train1, X_val1 = prepare_data.fit_transform(X_train1_raw[train_index]), prepare_data.fit_transform(X_train1_raw[val_index])
    y_train1, y_val1 = prepare_data.fit_transform(y_train1_raw[train_index]), prepare_data.fit_transform(y_train1_raw[val_index])
    plt.subplot(510 + index)

    plt.plot(X_train1[:, 1])
    plt.plot([None for i in X_train1[:, 1]] + [x for x in X_val1[:, 1]])

    plt.plot(X_train1[:, 2])
    plt.plot([None for i in X_train1[:, 2]] + [x for x in X_val1[:, 2]])

    index +=1
plt.show();
导致

因此,只绘制第二个变量。当我将绘图命令指定给某些轴时,将导致空绘图:

fig, ax = plt.subplots(2, 1, figsize=(24,7))
(...)
for train_index, val_index in tscv.split(X_train1_raw):
    X_train1, X_val1 = prepare_data.fit_transform(X_train1_raw[train_index]), prepare_data.fit_transform(X_train1_raw[val_index])
    y_train1, y_val1 = prepare_data.fit_transform(y_train1_raw[train_index]), prepare_data.fit_transform(y_train1_raw[val_index])
    plt.subplot(510 + index)

    ax[0].plot(X_train1[:, 1])
    ax[0].plot([None for i in X_train1[:, 1]] + [x for x in X_val1[:, 1]])

    ax[1].plot(X_train1[:, 2])
    ax[1].plot([None for i in X_train1[:, 2]] + [x for x in X_val1[:, 2]])

    index +=1
plt.show();
导致


如何调整此设置以并行绘制所有变量?

我无法访问您的数据+我不在计算机旁测试它。下面是我的建议。我稍微修改了你的代码。请做必要的调整

使用plt.add_subplot()

n_splits=5
tscv=时间序列分裂(n_分割=n_分割)
图=plt.图(图尺寸=(24,7))
索引=0
plt.style.use('seaborn-white'))
对于列索引,tscv.split中的值索引(X列1原始):
X_train1,X_val1=准备_数据。拟合变换(X_train1_原始[训练索引]),准备_数据。拟合变换(X_train1_原始[估值索引])
y_train1,y_val1=准备_数据。拟合变换(y_train1_原始[训练索引]),准备_数据。拟合变换(y_train1_原始[估值索引])
ax1=图add_子批次(5,2,索引*2+1)
ax1.绘图(X_列1[:,1])
ax1.绘图([X_列1[:,1]]中的i无)+[X_列1[:,1]]中的X的X为X)
ax2=图add_子批次(5,2,索引*2+2)
ax2.绘图(X_列1[:,2])
ax2.绘图([X_列1[:,2]]中的i无)+[X_列1[:,2]]中的X为X]
指数+=1
plt.show()

如果有任何错误,请告诉我。

您键入了“plt.子批次(510+索引)”。您是否检查了索引是否超过5?由于时间序列分割,索引停止在5