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'使用兩個不同的輸入參數來指定高度和顏色。這也可以應用於原始(非平坦)曲面以使其顏色與偏移無關。見編輯的答案 –