Chu*_*uck 3 python pandas jupyter-notebook
我从 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()
Run Code Online (Sandbox Code Playgroud)
一切看起来都不错。但随后我执行了接下来的三行:
my_model.weekly_sales.autocorr()
from stats models.graphics.tsaplots import plot_acf
plot_acf(my_model.weekly_sales)
Run Code Online (Sandbox Code Playgroud)
每个后续图出现两次,包括ARMA模型的fit和plot_pacf。
没什么大不了的。我正在获取我需要的信息,但这有点烦人。为什么要这样做?
更新:在分析中更进一步,我DataFrame在与 ACF 和 PACF 输出相同的 Jupyter 单元格中打印了一个,它打印了框架并且只显示了两个图表一次。我回到具有重复图表输出的其他单元格,print()在每个单元格的末尾添加一个,现在每个单元格只出现一次。
小智 7
问题/问题已经存在一段时间了。见问题 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()在同一单元格中执行 a
5) 改变%matplotlib属性。不推荐这样做,因为它会影响其他绘图
| 归档时间: |
|
| 查看次数: |
1088 次 |
| 最近记录: |