3 回答
TA贡献1864条经验 获得超6个赞
试试这个代码:
for variable in df.columns:
ax = autocorrelation_plot(df[variable])
ax.legend(ax.get_lines())
autocorrelation_plot返回一个类型的对象,AxesSubplot它允许您像使用 matplotlib 一样操作图形。因此,要添加图例,您只需将函数刚刚绘制的线条作为参数传递。
例如,使用此代码,我打印每条打印行的颜色,然后更改行的标签,添加字符串variable:
i=0
for variable in df.columns:
ax = autocorrelation_plot(df[variable])
print(variable, ax.get_lines()[-1].get_color())
for k in range(i, len(ax.get_lines())):
ax.get_lines()[k].set_label(f'{k}_{variable}')
i+=6
ax.legend(ax.get_lines())
TA贡献1802条经验 获得超10个赞
我即兴创作了来自@Massifox 的答案,我能够为自相关图定制一个图例
from matplotlib.lines import Line2D
plot_color = []
for variable in df.columns:
ax = autocorrelation_plot(df[variable])
plot_color.append((ax.get_lines()[-1].get_color()))
custom_lines = [Line2D([0],[0], color=plot_color [0], lw=2),
Line2D([0],[0], color=plot_color [1], lw=2),
Line2D([0],[0], color=plot_color [2], lw=2)]
ax.legend(custom_lines, ['label1', 'label2', 'label3'])
添加回答
举报