Hi folks,
I found specifying Matlab legend confusing when I have a line that could be empty (then has an empty handle). I want to skip the legend for empty line. For example:
h1 = plot([]); % Blue line
hold on;h2 = plot(rand(1,10),'r'); % Red line
h3 = plot(rand(1,10),'g'); % Green line
legend([h1 h2 h3],{'want to withdraw this if line unexist', 'hello', 'world'});
In this case, the legend for h1 will be assigned on h2, and the legend for h3 will be ignored.
Do you have any better solution rather than doing (since I might have different lines empty or not, and I just want the matched legends):
h1 = plot([]); % Blue linehold on;h2 = plot(rand(1,10),'r'); % Red lineh3 = plot(rand(1,10),'g'); % Green lineif ~isempty(h1) legend([h1 h2 h3],{'want to skip this if line unexist', 'hello', 'world'})else legend([h2 h3],{'hello', 'world'})end
Thanks!
Best Answer