假設我們有這樣的surf情節:
A = round(peaks,0);
surf(A)
有沒有辦法修改顏色圖,使其排除所有A等于 的值0,就好像它們一樣NaN?
著色0為白色而不影響顏色圖的其余部分將是另一種可接受的解決方案。
uj5u.com熱心網友回復:
您提到了解決方案:將所有0s 設定為nan:
A = round(peaks, 0);
A(A==0)=nan; % in-place logical mask on zero entries
surf(A)
% The same, but with a temporary variable, thus not modifying A
B = A;
B(B==0) = nan;
surf(B)
結果(R2007a):

如果您不想修改A或使用臨時變數,則需要在顏色圖中“挖一個洞”
A = round(peaks);
unique_vals = unique(A); % Get the unique values
cmap = jet(numel(unique_vals)); % Set-up your colour map
zero_idx = find(unique_vals==0); % find 0 index
cmap(zero_idx,:) = 1; % all ones = white. Nan would make it black
surf(A, 'EdgeColor', 'none')
colormap(cmap) % Use our colour map with hole
注意:該'EdgeColor', 'none'對用于洗掉每個補丁的邊緣,這樣您就不會看到值為 0 的“網格”。

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/475404.html
上一篇:在python中將GMT_timezone轉換為本地日期時間
下一篇:在與二維變數鏈接的繪圖上刷資料
