我对MATLAB比较陌生,想知道是否有人可以帮我处理3D绘图格式。
我正在尝试移除3D轴的一个墙/平面,以创建以下效果:
示例代码:
figure();
plot3(1:1:10, 1:1:10, 1:1:10);
grid on
产地:
然而,我想要以下(使用图像编辑在下面制作 - 我正在寻找MATLAB代码来获得这种效果):
看起来我无法嵌入图片但抱歉。
任何帮助表示感谢。
编辑:感谢您举报类似的问题,虽然我不认为这解决了我的问题:该解决方案似乎只是设置墙壁颜色/可见性,而我也想有选择地从墙上删除网格线(但是将网格线留在地板上 - 如我的图片所示。这可能吗?
答案 0 :(得分:0)
这是一种方法,通过放置一个“墙”或二维平面来隐藏你想要隐藏的墙,并通过编辑色彩图将其涂成白色:
surf(peaks); hold on % 3D plot
box on; % standard black box wireframe
grid on
ax=gca; % lets get the axes limits
xl=ax.XLim;
yl=ax.YLim;
zl=ax.ZLim;
% making our 2d plane
[y,z] = meshgrid([yl(1),yl(end)],[zl(1), zl(end)]);
x = xl(end)+zeros(size(z));
c = -inf; % coding it to be at the bottom of the colormap
surf(x,y,z,c)
hold off
colormap([[1,1,1];parula(255)]); % adding white to the first colormap row