Transparent surface with log axis

9 visualizaciones (últimos 30 días)
Gergely
Gergely el 18 de Feb. de 2013
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?

Respuestas (1)

Oleg Komarov
Oleg Komarov el 18 de Feb. de 2013
Editada: Oleg Komarov el 18 de Feb. de 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.

Categorías

Más información sobre Lighting, Transparency, and Shading en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by