Legend- if plot is empty?
23 次查看(过去 30 天)
显示 更早的评论
Hello,
I would like to how we can write legend for empty plots also. I have set of 4 to 5 plots. But some times among these plots, few plots values may be empty (x=NaN, y=NaN). if the plot is empty, then that the legend is not displaying. Rather this legend is displaying for next plots. How can I display legend for 5 plots even if 2nd or 3rd plot is empty.
Thanking you.
Meera
0 个评论
回答(2 个)
Kwin
2016-2-3
I ran into a similar problem when using contour plots, which can also be empty.
The solution I came up with is:
clear all
figure, hold all
fig{1} = contour(rand(10), [0.5 0.5], 'r');
fig{2} = contour(rand(0), [0.5 0.5], 'g');
fig{3} = contour(rand(10), [0.5 0.5], 'b');
name = {'fig1', 'fig2', 'fig3'};
used = {};
for k = 1 : numel(fig)
if ~isempty(fig{k})
used = {used{:}, name{k}};
end
end
legend(used)
0 个评论
Azzi Abdelmalek
2015-6-26
x=nan and y=nan is not an empty plot.
x1=[1 2 3]
x2=[]
y1=[1 2 3]
y2=[]
x={x1,x2}
y={y1,y2}
for k=1:numel(x)
if isempty(x{k})
plot(nan,nan)
else
plot(x{k},y{k})
end
hold on
end
legend({'a' 'b'})
hold off
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Legend 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!