MATLAB: Hi, Can someone tell me how to remove (data1 that caused by the reference line) from legend

legend

set(gca,'YTICK',[0 13.6 20 40]);
plot(x ,SNR_db,'Color',color,'LineStyle',style );
lgd = legend( 'theta 30,FOV 50','theta 40,FOV 20','theta 40,FOV 30','with less error','ideal case');
end
hold off
hline = refline(0,13.6);
set(hline,'color','k');
%set(hline,'Marker','o');
set(hline,'LineStyle','-');

Best Answer

Option 1
Turn off auto-updating so objects plotted after calling legend() do not appear on the legend.
lgd = legend( 'theta 30,FOV 50','theta 40,FOV 20','theta 40,FOV 30','with less error','ideal case', ...
'AutoUpdate','off');
Option 2
Plot the legend at the end and specify the object handles that should appear in the legend.
h = plot(x,y);
lgd = legend(h, 'theta 30,FOV 50');
% h can be a vector corresponding to each label name.
If you use the DisplayName property, you just need to provide the handles.
h = plot(x,y,'DisplayName', 'theta 30,FOV 50');
lgd = legend(h);