Philip O'Brien
Philip O'Brien

Reputation: 4266

Python StatsModels Time Series Decomposition Duplicate Plot

I am using a mixture of Pandas and StatsModels to plot a time series decomposition. I followed this answer but when I call plot() it seems to be plotting a duplicate.

My DataFrame looks like

enter image description here

My index looks like

enter image description here

but when I plot the decomposition I get this

enter image description here

Strangely, if I plot only an element of the decomposition, the duplication does not occur

enter image description here

Upvotes: 2

Views: 3065

Answers (3)

Sergey Kuper
Sergey Kuper

Reputation: 95

Adding plt.show() line after Solved the issue for me.

Upvotes: 6

Seungwook Kim
Seungwook Kim

Reputation: 69

You can use ";" end of plotting code. res.plot();

Upvotes: 0

TomAugspurger
TomAugspurger

Reputation: 28936

Assign the result of res.plot() to something, e.g. fig = res.plot(). The result of that method is a matplotlib.figure. The duplicate is from it's _repr_html_, which the notebook renders since it's the last item in the cell. You can try it yourself with

fig, ax = plt.subplots()
ax.plot([1, 2], [1, 2])
fig

The second method returns a matplotlib axes, which doesn't have a _repr_html so you just see that text above the figure.

Upvotes: 9

Related Questions