Borrar filtros
Borrar filtros

Log axis on imagesc

32 visualizaciones (últimos 30 días)
Cl
Cl el 10 de Mzo. de 2014
Comentada: Sean de Wolski el 10 de Mzo. de 2014
I've plotted an image using imagesc:
figure;
imagesc([pmin pmax], [vmax vmin],flipud(result.^2))
xlabel('Period (s)','FontSize',20)
ylabel('Velocity (m.s^-^1)','FontSize',20)
set(gca,'ydir','normal')
and would like to make the x-axis logarithmic. If I just do set(gca, 'XScale','log') it changes the scale but not the image. How can I change the image and the scale? I've tried plotting with surf as well, but that's not producing what I want. My xscale values are 2:0.1980:101, so I'm not sure what the best way of plotting this is. Any suggestions are much appriciated!

Respuestas (1)

Sean de Wolski
Sean de Wolski el 10 de Mzo. de 2014
I think what you want is to use surf with x and y set to your values.
surf(1:100,1:100,magic(100));
set(gca,'XScale','log');
view(2)
If this isn't correct, could you attach your data in a zip file?
  2 comentarios
Cl
Cl el 10 de Mzo. de 2014
Thanks for your response. When using set(gca, 'XScale','log') how does this decide how the values are split up? When I use
surf(result.^2,'LineStyle','none')
view(0,90)
set(gca, 'XTick',pmin:(pmax-pmin)/10:pmax ,'XTickLabel', round(pmin:(pmax-pmin)/10:pmax), 'FontSize',16)
xlabel('Period (s)','FontSize',20)
ylabel('Velocity (m.s^-^1)','FontSize',20)
I just get the first 10 values used for the 0:10 section, which isn't correct. I'm not sure where I'm going wrong with that
Sean de Wolski
Sean de Wolski el 10 de Mzo. de 2014
I'm not able to reproduce what you're describing (guessing at pmin, pmax)
surf(1:100,1:100,magic(100));
set(gca,'XScale','log');
view(2)
set(gca,'XTick',2:(pmax-pmin)/10:102,'XTicklabel',round(2:(pmax-pmin)/10:102))

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by