Python Matplotlib 图表绘制:设置参数、时间序列数据可视化
这个代码使用 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_list、f_arma_list 和 f_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():显示生成的图表。
希望这段解释能帮助你理解代码的工作原理。
原文地址: http://www.cveoy.top/t/topic/lMqZ 著作权归作者所有。请勿转载和采集!