将 surface/line 添加到 Matlab 中的 3D 针状图

Add surface/line to 3D stem plot in Matlab

假设我有一个使用 stem3 的 3D 线状图

stem3(xx,yy,zz,'red')

我想在 550 (zz = 550) 的高度添加一条线或一个半透明表面。有没有办法做到这一点?

你可以只用一个普通的 surf 对象来做到这一点。

% Create your stem3 object
stem3(rand(10), rand(10), rand(10) * 700, 'r');

hold on

% Get the current X and Y Limits of the axes
xdata = get(gca, 'xlim');
ydata = get(gca, 'ylim');

% Ensure that the axes limimts don't change when we plot the surface
axis manual

% Create a surface that spans the axes and is of height 550 (the third input)
% Use alpha value of 0.1 for the face transparency
surf(xdata, ydata, 550 * ones(2), 'FaceAlpha', 0.1, 'FaceColor', 'red');