Matlab:fill命令将两个元素添加到图例。如何避免这种情况

问题描述 投票:0回答:2

我正在一个Matlab项目中,我需要使用fill命令。 fill命令fill(X,Y,C)根据X和Y中的数据用C指定的顶点颜色创建填充的多边形。

我有以下代码:

x_2 = [x, fliplr(x)];
inBetween = [Auf1_mW_pro_mg(1781:length(Auf1_mW_pro_mg)), fliplr(y_Temp)];
figure('Name','Test')
fill(x_2, inBetween, 'r','facealpha',.5,'LineStyle','none');
legend()

...,让我得到这个结果:

enter image description here

您可以看到,我有两个区域,因为我的数据是真实数据,并且推断的行并不总是只有数据行在其上方。

在这种情况下,没有人有一个简单的主意,如何避免在图例中显示两个数据元素?从图例中删除元素似乎并不是一件容易完成的事情,这是我的第一个想法。也许我可以控制将哪些数据添加到图例?

谢谢!

matlab matlab-figure figure
2个回答
0
投票
h = fill(x_2, inBetween, 'r','facealpha',.5,'LineStyle','none');

这将返回2×1的Patch数组,您可以为其设置第二个元素的HandleVisibility属性:

h(2).HandleVisibility = 'off';

现在它不会显示在您的图例中。但是像findobj这样的功能也找不到补丁,有关后果的更多详细信息here)。

© www.soinside.com 2019 - 2024. All rights reserved.