Transparent surface with log axis
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (1)
Oleg Komarov
am 18 Feb. 2013
Bearbeitet: Oleg Komarov
am 18 Feb. 2013
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.
Siehe auch
Kategorien
Mehr zu Lighting, Transparency, and Shading finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!