Partial transparent surface plot

18 ビュー (過去 30 日間)
Rafael Kübler
Rafael Kübler 2017 年 3 月 9 日
編集済み: Massimo Zanetti 2017 年 3 月 9 日
Hello together,
I'm trying to plot a surface where all points with a z value between -0.5 and 0.5 are 100% transperent. I've tried to make all these values to NaN (not a number). This works, so far, that the surface looks like expected, but i can not use the data cursor. When using the data cursor matlab crashes. Is there another way of makeing areas transparent or does anyone know, why matlab crashes?
Thank you for your help.
Rafael

採用された回答

Massimo Zanetti
Massimo Zanetti 2017 年 3 月 9 日
編集済み: Massimo Zanetti 2017 年 3 月 9 日
You can set AlphaData to 0 where you don't want to see any colour. Here is an example hiding values of a trigonometric function between 0 and 1:
[X,Y] = meshgrid(1:0.5:10,1:20);
Z = sin(X) + cos(Y);
s = surf(X,Y,Z);
s.AlphaData = (Z<=0) | (Z>=1);
s.FaceColor = 'texturemap';
s.FaceAlpha = 'texturemap';
  2 件のコメント
Massimo Zanetti
Massimo Zanetti 2017 年 3 月 9 日
Are you just visualizing the image or trying to print it using print? Please, post some of your code.
By the way, from the help page Figure Properties I see z-buffer is no longer supported:
Note: The 'zbuffer' option has been removed. Use 'opengl' or 'painters' instead.
What Matlab version are you using?

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by