0
我想顯示30個3D矩陣的切片。我正在使用MATLAB切片命令。我的數據具有圓形對稱性,它的重要部分位於對稱軸附近。當我使用切片命令時,我的數據的零部分阻塞了重要數據。請參閱下圖,它是由附加的代碼創建的。我想讓每個切片(藍色區域)的不重要部分完全透明。我怎樣才能做到這一點?如何根據3D數據矩陣的值使切片的一部分(在MATLAB切片函數中)透明?
修改後,根據Suever答案代碼:(!還不行)
似乎是什麼問題??? -Answer:我發現我不得不也向FaceAlpha屬性設置爲「interp的」
function presentFig4_ver3
close all; clc;
load('img3D_shrinked.mat' , 'im3' , 'y_n_mm' , 'xticksVec_mm')
[X,Y,Z]=meshgrid(y_n_mm,y_n_mm,xticksVec_mm);
slices=xticksVec_mm; %= 0.23:0.1:(0.23+((30-1)*0.1)); %This is the same as xticksVec_mm
len_slices=length(slices);
h=zeros(1,len_slices);
for ind=1:len_slices
h(ind)=slice(X,Y,Z, im3, [],[],[slices(ind)]);
set(h(ind),'EdgeColor','none','FaceColor','interp','AlphaData',(im3>0.001)*0.1);
set(gca,'ZDir','reverse')
hold on
end
end % of function
您好Suever,由於某種原因您的解決方案不適合我。我將在編輯問題時顯示我的代碼。 –
我發現了這個問題。我還需要將FaceAlpha屬性設置爲'interp'。謝謝您的幫助! –
@ O.T。哦,是的,對此感到抱歉。我最初已經將你設置爲'interp'的'FaceColor'讀作'FaceAlpha'。我已經更新了我的答案,以包含'FaceAlpha' – Suever