首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Statsmodels.api.tsa.seasonal_decompose图图形

Statsmodels.api.tsa.seasonal_decompose图图形
EN

Stack Overflow用户
提问于 2021-12-16 10:23:51
回答 1查看 4.7K关注 0票数 5

我正在使用statsmodels.api.tsa.seasonal_decompose对时间序列做一些季节性分析。

我把它设置为

代码语言:javascript
复制
decomp_viz = sm.tsa.seasonal_decompose(df_ts['NetConsumption'], period=48*180)

然后试着用

代码语言:javascript
复制
decomp_viz.plot()

输出很小,所以我尝试使用标准的matplotlib命令

代码语言:javascript
复制
decomp_viz.plot(figsize=(20,20))

然而,这得到了警告:

代码语言:javascript
复制
TypeError: plot() got an unexpected keyword argument 'figsize'

文档中说,matplotlib.figure.Figure是从DecomposeResult.plot返回的,所以我不知道为什么会发生这个错误。

我的statsmodels版本是0.13.1,我知道文档是为0.14.0编写的,但是conda说这个版本不存在,我不能更新到它。

任何想法都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-16 16:30:25

DecomposeResult.plot不传递关键字参数。您可以在创建后更改图形大小:

代码语言:javascript
复制
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来进行相同的操作。

代码语言:javascript
复制
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()

它会产生(对我的屏幕来说太大了)

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70377351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档