问题描述
我想使用 axvspan() 函数来可视化我使用 Pandas DataReader 获得的 DataFrame。但是当我使用以下代码时,我看到一个错误并且子图中没有阴影。我应该怎么办? 谢谢。
import matplotlib.pyplot as plt
import pandas_datareader.data as pdr
import pandas as pd
import datetime
start = datetime.datetime (2000,1,1)
end = datetime.datetime (2021,5,1)
df = pdr.DataReader(['WFRBSB50215','WFRBST01134','WFRBST01122','WFRBSN09139','WFRBSB50189','WFRBST01110','WFRBSB50191'],'fred',start,end)
df.columns = ['Share of Total Net Worth Held by the Bottom 50% (1st to 50th Wealth Percentiles)','Share of Total Net Worth Held by the Top 1% (99th to 100th Wealth Percentiles)','Share of Corporate Equities and Mutual Fund Shares Helb By Top1%(99th to 100th Wealth Percentiles)','Share of Financial Assets Held by the 90th to 99th Wealth Percentiles','Share of Total Assets Held by the Bottom 50% (1st to 50th Wealth Percentiles)','Share of Real Estate Held by the Top 1% (99th to 100th Wealth Percentiles)','Share of Real Estate Held by the Bottom %50(1st to 50th Wealth Percentiles)'
]
ax = df.plot(subplots=True,layout=(7,1),figsize=(15,15),linewidth=3.5,colormap="summer")
ax.axvspan('2007-1-12','2009-6-1',color='c',alpha=0.5)
ax.axvspan('2019-12-1','2020-2-1',color= 'orange',alpha=0.5)
plt.xlabel('Date')
ax[0,].set_title('Share of Total Net Worth Held by the Bottom 50%')
ax[0,].set_ylabel('Percent of Aggregate')
ax[1,].set_title('Share of Total Net Worth Held by the Top 1%')
ax[1,].set_ylabel('Percent of Aggregate')
ax[2,].set_title('Share of Corporate Equities and Mutual Fund Shares Helb By Top 1%')
ax[2,].set_ylabel('Percent of Aggregate')
ax[3,].set_title('Share of Financial Assets Held by the 90th to 99th Wealth Percentiles')
ax[3,].set_ylabel('Percent of Aggregate')
ax[4,].set_title('Share of Total Assets Held by the Bottom 50% ')
ax[4,].set_ylabel('Percent of Aggregate')
ax[5,].set_title('Share of Real Estate Held by the Top 1%')
ax[5,].set_ylabel('Percent of Aggregate')
ax[6,].set_title('Share of Real Estate Held by the Bottom %50')
ax[6,].set_ylabel('Percent of Aggregate')
plt.tight_layout()
plt.style.use('seaborn-white')
plt.show()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)