这个代码使用 Python Matplotlib 库绘制图表,展示了如何设置绘图参数、将数据转换为时间序列格式、添加子图、绘制多条线以及添加图例等步骤。代码片段如下:

params = {
   'figure.figsize': [20, 8],
   'xtick.labelsize': 16,
   'ytick.labelsize': 16
   }
plt.rcParams.update(params)

df['time'] = pd.to_datetime(df['yyyyq'],format = '%Y') 

fig = plt.figure()

ax = fig.add_subplot(111)

line_1,=ax.plot(df.loc[ini_win:,'time'],df.loc[ini_win:,'Rm']) #reallife situation
line_2,=ax.plot(df.loc[ini_win:,'time'],f_hm_list[ini_win:]) #historical_mean
line_3,=ax.plot(df.loc[ini_win:,'time'],f_arma_list[ini_win:]) #arma(1,1)
line_4,=ax.plot(df.loc[ini_win:,'time'],f_ikr_list[ini_win:]) #predicted regression with investment vapital ratio

ax.set_xlabel('quarter')
ax.set_ylabel('quarterly_equity_premium') 

plt.legend([line_1,line_2,line_3,line_4],['real','historical_mean','arma','predicted regression with ik ratio'],loc='lower left')

plt.show()

代码首先设置了一些绘图参数,例如图表的尺寸和刻度标签的大小。然后,它将数据转换为时间序列格式,将 'yyyyq' 列转换为日期时间类型。接下来,它创建了一个图形对象并添加了一个子图。然后,它使用四个线条绘制了不同的时间序列数据,并将这些数据分别标记为 'reallife situation'、'historical_mean'、'arma(1,1)' 和 'predicted regression with investment capital ratio'。最后,它设置了横轴和纵轴标签,添加了一个图例,并显示图形。

需要注意的是,代码中使用了几个未定义的变量,例如 f_hm_listf_arma_listf_ikr_list,这些变量必须在其他地方定义。此外,代码还使用了 ini_win 变量,该变量也必须在其他地方定义。如果这些变量未定义或定义不正确,则代码将无法运行。

要使用该代码,你需要首先确保这些变量已定义,并且它们包含了正确的数据。然后,你可以运行代码以生成图表。

以下是对代码的进一步解释:

  • plt.rcParams.update(params):更新 Matplotlib 的默认绘图参数,例如图表的尺寸和刻度标签的大小。
  • df['time'] = pd.to_datetime(df['yyyyq'],format = '%Y'):将数据框 df 中的 'yyyyq' 列转换为日期时间类型,并将结果存储在 'time' 列中。
  • fig = plt.figure():创建一个新的图形对象。
  • ax = fig.add_subplot(111):向图形对象添加一个子图。参数 111 表示将图形对象分成 1 行 1 列,并选择第一个子图。
  • line_1,=ax.plot(...):在子图上绘制一条线,使用 df.loc[ini_win:,'time'] 作为 x 轴数据,使用 df.loc[ini_win:,'Rm'] 作为 y 轴数据。
  • ax.set_xlabel('quarter'):设置 x 轴标签为 'quarter'。
  • ax.set_ylabel('quarterly_equity_premium'):设置 y 轴标签为 'quarterly_equity_premium'。
  • plt.legend(...):添加一个图例,将每个线条与相应的标签相关联。
  • plt.show():显示生成的图表。

希望这段解释能帮助你理解代码的工作原理。

Python Matplotlib 图表绘制:设置参数、时间序列数据可视化

原文地址: http://www.cveoy.top/t/topic/lMqZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录