3
下图只是带有surf的2d数组的示意图。我想创建一个类似的图,其中10个这样的二维数组彼此堆叠在一起,并且沿着z轴有一些偏移量。在MATLAB中使用surf创建堆叠的2d矩阵
figure();
surf(X);
colormap(hsv);
shading interp;
campos([-70 -150 80]);
grid on;
set(gcf,'color','w');
下图只是带有surf的2d数组的示意图。我想创建一个类似的图,其中10个这样的二维数组彼此堆叠在一起,并且沿着z轴有一些偏移量。在MATLAB中使用surf创建堆叠的2d矩阵
figure();
surf(X);
colormap(hsv);
shading interp;
campos([-70 -150 80]);
grid on;
set(gcf,'color','w');
只需拨打surf
几次hold on
,将逐渐增加所抵消。
通过默认(1输入版本surf
),偏移量将影响每个表面显示的颜色。这里有三个2D阵列的例子。请注意,峰 - 峰值幅度对于每一个都是不同的。
x{1} = .2*peaks(30);
x{2} = .4*peaks(30);
x{3} = .8*peaks(30); % cell array containing three 2D arrays
offset = 7; % desired offset
hold on
for k = 1:numel(x)
surf(x{k} + offset*(k-1))
end
campos([-100 -170 90])
grid on
,以防止影响颜色偏移量,即实现一致的颜色为所有表面,使用surf
的2-或4-输入版本分别指定高度和颜色:
x{1} = .2*peaks(30);
x{2} = .4*peaks(30);
x{3} = .8*peaks(30);
offset = 7;
hold on
for k = 1:numel(x)
surf(x{k} + offset*(k-1), x{k}) % Only this line has been changed
end
campos([-100 -170 90])
grid on
为了根儿吃叠飞机(没有高度的变化)与依赖于价值颜色:修改输入的参数如下:
x{1} = .2*peaks(30);
x{2} = .4*peaks(30);
x{3} = .8*peaks(30);
offset = 7;
hold on
for k = 1:numel(x)
surf(repmat(offset*(k-1), size(x{k})), x{k}) % Only this line has been changed
end
campos([-100 -170 90])
grid on
谢谢你的快速回复。是的,它会影响每个表面显示的颜色。由于我很好奇,我想问问在这种情况下是否可以使用'pcolor'代替冲浪?我会放松海拔,但没关系。 –
@ShaibalAhmed好问题。它不能用'pcolor' AFAIK完成,但它可以通过'surf'使用两个不同的输入参数来指定高度和颜色。这也可以应用于原始(非平坦)曲面以使其颜色与偏移无关。见编辑的答案 –