Plotting A Time Series With Shaded Recession Bars - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: Plotting A Time Series With Shaded Recession Bars (/thread-32153.html) |
Plotting A Time Series With Shaded Recession Bars - adamszymanski - Jan-24-2021 Hello, I am trying to reconstruct time series graphs from FRED through Python. I am having trouble however finding a simple way to add shaded bars denoting start and end dates for recessions onto a basic time series plot. I have loaded data for recession dates from FRED that looks like: Date Recession 10/1/67 0 1/1/68 0 4/1/68 0 7/1/68 0 10/1/68 0 1/1/69 0 4/1/69 1 7/1/69 1 10/1/69 1 1/1/70 1 4/1/70 1 7/1/70 1 10/1/70 1 RE: Plotting A Time Series With Shaded Recession Bars - nealc - Jan-24-2021 Perhaps an area plot or a bar plot (commented)? from pandas import read_csv import matplotlib.pyplot as plt from io import StringIO if __name__ == "__main__": df = read_csv(StringIO("""Date Recession tsval 10/1/1967 0 .1 1/1/1968 0 .2 4/1/1968 0 .3 7/1/1968 0 .4 10/1/1968 0 .5 1/1/1969 0 .4 4/1/1969 1 .3 7/1/1969 1 .2 10/1/1969 1 .1 1/1/1970 1 .2 4/1/1970 1 .3 7/1/1970 1 .4 10/1/1970 1 .5"""), sep=" ") df["nonrecession"] = 1-df.Recession # ax=df.plot(x="Date",y=["Recession","nonrecession"],kind="bar", stacked=True) ax=df.plot(x="Date",y=["Recession","nonrecession"],kind="area", stacked=True) df.plot(x="Date",y="tsval", ax=ax) plt.show() |