如何向Pandas数据框图中添加标题

3
能够制作两个漂亮的时序图,但是 plot.title() 没有效果。如何解决这个问题?
import pandas as pd 
import datetime 
import matplotlib.pyplot as plt 

if __name__ == '__main__':
    index_data = pd.read_csv('comparison_dataset.csv')
    index_data['DATE'] = pd.to_datetime(index_data['DATE'])
    index_data.set_index('DATE', inplace=True)

    print(index_data)

    df = pd.DataFrame(index_data)
    print(df)

    plt.title('S&P/Case-Shiller U.S. National Home Price Index')
    plt.figure()
    df.plot()
    plt.legend(loc = 'best')
    plt.show()


    #now create second data frame with level values and growth rates
    df2=df

    index_data['pct_change_actuals_2']=(df2.HPI_Actuals - df2.HPI_Actuals.shift(4)) /   df2.HPI_Actuals;
    index_data['pct_change_F_VECM']=(df2.HPI_F_VECM - df2.HPI_F_VECM.shift(4)) / df2.HPI_F_VECM;
    index_data['pct_change_F_VAR']=(df2.HPI_F_VAR - df2.HPI_F_VAR.shift(4)) / df2.HPI_F_VAR;
    index_data['pct_change_F_ML']=(df2.HPI_F_ML - df2.HPI_F_ML.shift(4)) / df2.HPI_F_ML;
    index_data['pct_change_F_ARIMA']=(df2.HPI_F_ARIMA - df2.HPI_F_ARIMA.shift(4)) /     df2.HPI_F_ARIMA;

    print(df2)

    df3= df2[['pct_change_actuals_2',   'pct_change_F_VECM','pct_change_F_VAR','pct_change_F_ML','pct_change_F_ARIMA']]
    plt.title('S&P/Case-Shiller U.S. National Home Price Index Yearly Change')
    plt.figure()
    df3.plot()
    plt.legend(loc = 'best')
    plt.show()

First series graph

Second series graph


1
尝试在调用df.plot()时传递标题,像这样:df3.plot(title='S&P/Case-Shiller美国全国房价指数年度变化') - mechanical_meat
1个回答

2

在创建图形(使用plt.figure())之前调用plt.title命令是不起作用的。您应该将plt.title命令移动到绘制图形df.plot()之后。

另外,如果您想要一个图形标题,命令是plt.suptitle。而plt.title适用于轴级别。


谢谢,我实际上删除了plt.figure()这一行,并使用了上面mechanical_meat的建议,它起作用了。 - UBS
是的,因为此时很明显,图形和坐标轴已经存在 ;) - mozway

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接