我试图为xaxis(大小7301x1)填充变量b(大小7301x1)和zaxis的最小值(zaxis的大小为1x1376,但我只想使用它的最小值)之间的区域。我尝试了以下代码:
xfill = \[xaxis, fliplr(xaxis)\];
yfill = \[min(zaxis) \* ones(size(b)), b\];
patch(xfill, yfill, 'r');
代码运行成功,但只填充了b的区域,在b的位置创建了一个三角形,并在最小z轴处创建了一条单独的水平线。我想填充水平线和 b 的图之间的区域。我怎样才能实现这个目标?
我也尝试再次使用补丁功能,但得到了相同的结果。我很确定我错过了一些东西,但我不知道是什么。
我试过了
xfill = \[xaxis, fliplr(xaxis)\];
yfill = \[min(zaxis) \* ones(size(b)), b\];
patch(xfill, yfill, 'r');
我想填充 min(zaxis) 和 b 之间的区域。
我认为您只需要交换
yfill
的串联顺序,因为您希望 b
按原始顺序与 xaxis
对齐,并且可以将 fliplr(xaxis)
与最小 zaxis
值对齐。
xfill = [xaxis, fliplr(xaxis)];
yfill = [b, min(zaxis)*ones(size(b))];
patch(xfill,yfill,'r');
对于一些虚拟示例:
xaxis = linspace(0,10,7301);
zaxis = rand( 1, 1376 ) - 1;
b = sin( xaxis ) + xaxis;
xfill = [xaxis, fliplr(xaxis)];
yfill = [min(zaxis)*ones(size(b)), b];
patch(xfill,yfill,'r');