我正在使用statsmodels.api.tsa.seasonal_decompose对时间序列做一些季节性分析。
我把它设置为
decomp_viz = sm.tsa.seasonal_decompose(df_ts['NetConsumption'], period=48*180)然后试着用
decomp_viz.plot()输出很小,所以我尝试使用标准的matplotlib命令
decomp_viz.plot(figsize=(20,20))然而,这得到了警告:
TypeError: plot() got an unexpected keyword argument 'figsize'文档中说,matplotlib.figure.Figure是从DecomposeResult.plot返回的,所以我不知道为什么会发生这个错误。
我的statsmodels版本是0.13.1,我知道文档是为0.14.0编写的,但是conda说这个版本不存在,我不能更新到它。
任何想法都将不胜感激。
发布于 2021-12-16 16:30:25
DecomposeResult.plot不传递关键字参数。您可以在创建后更改图形大小:
import statsmodels.api as sm
import numpy as np
import matplotlib.pyplot as plt
PERIOD = 48*180
g = np.random.default_rng(20211225)
y = np.cos(2 * np.pi * np.linspace(0, 10.0, 10*PERIOD))
y += g.standard_normal(y.shape)
decomp_viz = sm.tsa.seasonal_decompose(y, period=PERIOD)
fig = decomp_viz.plot()
fig.set_size_inches((16, 9))
# Tight layout to realign things
fig.tight_layout()
plt.show()

或者,您也可以通过更改MPL来进行相同的操作。
import statsmodels.api as sm
import numpy as np
import matplotlib.pyplot as plt
# Change default figsize
plt.rc("figure",figsize=(20,20))
PERIOD = 48*180
g = np.random.default_rng(20211225)
y = np.cos(2 * np.pi * np.linspace(0, 10.0, 10*PERIOD))
y += g.standard_normal(y.shape)
decomp_viz = sm.tsa.seasonal_decompose(y, period=PERIOD)
decomp_viz.plot()
plt.show()它会产生(对我的屏幕来说太大了)

https://stackoverflow.com/questions/70377351
复制相似问题