如何在MATLAB中填充3D图形下方的区域?

Pet*_*123 5 matlab plot fill matlab-figure matlab-guide

我使用函数在MATLAB中创建了以下3d图plot3:

在此输入图像描述

现在,我希望在"2d子图"下方(即蓝色和红色曲线下方)获得阴影区域.不幸的是,我不知道如何实现这一点.

如果有人有想法,我会非常感激.

gno*_*ice 5

您可以使用该功能fill3并参考2D案例的此答案来查看如何在数据向量的末尾添加点以"关闭"填充的多边形.尽管创建图案(即阴影线)即使不是不可能也是困难的,但另一种方法是简单地调整填充贴片的α透明度.以下是一个补丁的简单示例:

x = 1:10;
y = rand(1, 10);
hFill = fill3(zeros(1, 12), x([1 1:end end]), [0 y 0], 'b', 'FaceAlpha', 0.5);
grid on
Run Code Online (Sandbox Code Playgroud)

这是这样的情节:

在此输入图像描述

您还可以在一次调用中创建多个补丁fill3.这是一组有4组数据的例子:

nPoints = 10;  % Number of data points
nPlots = 4;    % Number of curves
data = rand(nPoints, nPlots);  % Sample data, one curve per column

% Create data matrices:
[X, Y] = meshgrid(0:(nPlots-1), [1 1:nPoints nPoints]);
Z = [zeros(1, nPlots); data; zeros(1, nPlots)];
patchColor = [0 0.4470 0.7410];  % RGB color for patch edge and face

% Plot patches:
hFill = fill3(X, Y, Z, patchColor, 'LineWidth', 1, 'EdgeColor', patchColor, ...
              'FaceAlpha', 0.5);
set(gca, 'YDir', 'reverse', 'YLim', [1 nPoints]);
grid on
Run Code Online (Sandbox Code Playgroud)

这是这样的情节:

在此输入图像描述