我需要你们的帮助来解决我面临的一个小问题。当我想用bar函数描绘f1和f2时,我需要在图中的图例选项卡中排除f2注释对象,但是下面写的set语法似乎给出了提到的错误。
代码如下:
f1= bar([SN, SN, SN], [Class_Work, Final_Exam, Shift_Grade'-Grade], K, 'stacked');
f2= bar([SN(idx), SN(idx), SN(idx)], [Class_Work(idx), Final_Exam(idx), SG(idx)-Grade(idx)], K*dy/dx, 'stacked', 'LineWidth', 2.5);
set(f1,{'DisplayName'},{'Mid-Term','Final-Exam','Shift'}')
legend('location','NorthEast','Orientation','horizontal');
% in order to Exclude f2 indices from legend: (BUT SEEMS NOT WORKING based on error!)
set(get(get(f2,'Annotation'),'LegendInformation'),...
'IconDisplayStyle','off');
运行后,它会在命令窗口中出现此错误,包括正确的图形,但包含所有注释对象:
???使用 ==> 获取错误
无法从单元格转换为双精度。
==> set(get(get(f2,'Annotation'),'LegendInformation'),... 中的错误
我需要的图是:在绘制 f2 时,图例选项卡中的data4、data5 和 data6图形对象(与 f2 相关)不会出现。
我提前感谢您的帮助。