子图问题

时间:2019-03-17 07:45:17

标签: python matplotlib

我正在尝试绘制一些序列数据,但是数据图看起来不太好:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

def seasonal_decomposition(time,returned_values):
    df=pd.DataFrame({'Returns':returned_values})
    df.index=time
    df=df[~df.isin([np.nan, np.inf, -np.inf]).any(1)]
    decomposition = seasonal_decompose(df['Returns'])
    trend=decomposition.trend
    seasonal=decomposition.seasonal
    residual=decomposition.resid

    plt.subplot(411)
    plt.plot(df['Returns'], label='Original')
    plt.legend(loc='best')
    plt.subplot(412)
    plt.plot(trend, label='Trend')
    plt.legend(loc='best')
    plt.subplot(413)
    plt.plot(seasonal, label='Seasonal')
    plt.legend(loc='best')
    plt.subplot(414)
    plt.plot(residual, label='residual')
    plt.legend(loc='best')
    #plt.tight_layout()

    return residual

图形显示如下。有人能帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

如果您还具有要测试的数据集,那会更好。在绘制图形之后,只需尝试添加plt.subplots_adjust(wspace=0.5, hspace=0.5)。如果我设置的值不起作用,请尝试增加它们。您应该将它们作为轴的宽度和高度的一部分。如果您提供数据集,我将编辑答案并包括绘图。