Transparent surface with log axis
7 次查看(过去 30 天)
显示 更早的评论
Dear All!
I wish to use transparency for my surface plots by setting an alpha map. However, transparency disappears when I set a log scale on any of the axes, e.g.
[x,y] = meshgrid([-2:.2:2]);
z = x.*exp(-x.^2-y.^2);
surf(x,y,z+.001,'FaceAlpha','flat',...
'AlphaDataMapping','scaled',...
'AlphaData',gradient(z),...
'FaceColor','blue');
alphamap('vup')
colormap jet;
shading interp;
%This is transparent so far. Setting YScale however, kills transparency:
set(gca, 'YScale', 'log')
Any ideas how to resolve the issue?
0 个评论
回答(1 个)
Oleg Komarov
2013-2-18
编辑:Oleg Komarov
2013-2-18
However, you can use a manual workaround. You need to calculate the log-transformation of your values (excluding the negative ones) for the desired axis and then set manually the ticklabels.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Lighting, Transparency, and Shading 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!