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!