【发布时间】:2022-11-14 17:08:53
【问题描述】:
我正在做投资组合分析。我在图表中绘制投资组合收益。我可以制作一个 5 年的数字,每年都有自己的图表,每个图表中有 2 个投资组合。然后我在一个图中有 5 个子图。对于每个子图,我有 2 行,每个投资组合一个,它们对每个子图的引用相同(见图)。所以我希望整个人物只有一个传奇。
但是,通过我的尝试,它总是返回此错误: 'Figure' 对象没有属性 'figlegend'
我已经尝试了 2 种可能性(在 matplotlib 网站上显示)来制作一个图例,它们如下:
periods= [0,60,120,180,240,300,360,420,480,540,600,660,720,780,840,900]
fig, axis = plt.subplots(5, 1)
fig.set_size_inches(15, 20)
fig.tight_layout(pad=5.0)
for i in range(5):
p = i+0
axis[i].plot(return_pf_market[periods[p]:periods[p+1]], "darkcyan")
axis[i].plot(return_pf_optimized[periods[p]:periods[p+1]], "lightgreen")
axis[i].set_title(year_str[p])
axis[i].set_xlabel(year_TR[p]+" to "+ year_TR[p+4])
fig.figlegend(['Standard Portfolio', 'Green Portfolio'])
plt.show()
或者
fig, axis = plt.subplots(5, 1)
fig.set_size_inches(15, 20)
fig.tight_layout(pad=5.0)
for i in range(5):
p = i+0
axis[i].plot(return_pf_market[periods[p]:periods[p+1]], "darkcyan", label='Standard Portfolio')
axis[i].plot(return_pf_optimized[periods[p]:periods[p+1]], "lightgreen", label='Green Portfolio')
axis[i].set_title(year_str[p])
axis[i].set_xlabel(year_TR[p]+" to "+ year_TR[p+4])
axis.figlegend()
plt.show()
也许有人知道我的代码有什么问题,这让我得到了这个错误?
【问题讨论】:
标签: python matplotlib figure