我将从 Jupiter 开始分析一些销售数据。它有效,但每次我绘制图表时,图表都会显示两次。我的笔记本中的前两个图表是在班级内绘制的,对于这些图表来说,这种情况不会发生(注意,Model
这里指的是产品的模型,而不是预测模型):
class Model:
...
def plot(self):
self.weekly_sales.plot() # a pandas Series
self.decomposed.plot() # result of seasonal_decompose on the weekly_sales
my_model = Model('model name', sales)
%matplotlib inline
my_model.plot()
一切看起来都不错。但随后我执行接下来的三行:
my_model.weekly_sales.autocorr()
from stats models.graphics.tsaplots import plot_acf
plot_acf(my_model.weekly_sales)
每个后续图出现两次,包括ARMA
楷模fit
and plot_pacf
.
没什么大不了的。我正在获取所需的信息,但这有点烦人。它为什么要这样做?
Update:进一步分析,我打印了一个DataFrame
在与 ACF 和 PACF 输出相同的 Jupyter 单元中,它打印了框架并仅显示了两个图表一次。我回到具有重复图表输出的其他单元格,添加了一个print()
在每个的末尾,现在每个都只出现一次。
这个问题已经存在很长一段时间了。看第 1265 期。
到目前为止,“这似乎是由plot_acf函数绘制图形并返回结果引起的,然后导致IPython Notebook再次绘制结果。”
对于这个问题,有几种方法可以克服双重绘图。
1)正如你提到的添加print()
在 acf_plot 之后
2)分配输出,例如output_plt = plot_acf(my_model.weekly_sales)
3)在行后添加分号plot_acf(my_model.weekly_sales);
4) 如果无论如何导入 matplotlib 则执行plt.show()
在同一个单元格中
5)改变%matplotlib
特性。不建议这样做,因为它会影响其他绘图
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)