How can I make a logarithmic color plot and colorbar

52 visualizaciones (últimos 30 días)
Robin Ramstad
Robin Ramstad el 6 de Abr. de 2018
Comentada: Walter Roberson el 21 de Nov. de 2018
When working in Matlab 2014a I had a work-around to make logarithmic colorbars for my pcolor plots, making figures such as below.
After an institutional change to Matlab 2018a this workaround is completely broken, and it seems logarithmic colorbars with minor tickmarks are still not natively supported despite being a common type of plot. Is there any method to create this type of plot and colorbar in the newer releases?

Respuestas (2)

Jeffrey Lestz
Jeffrey Lestz el 10 de Ag. de 2018
I have version 2018a, and the following also works for me:
set(gca,'colorscale','log')
  3 comentarios
Walter Roberson
Walter Roberson el 22 de Ag. de 2018
This was introduced in R2018a.
nlm
nlm el 20 de Nov. de 2018
How to get logarithmic scale colors on graph but linear colorbar ?

Iniciar sesión para comentar.


Walter Roberson
Walter Roberson el 6 de Abr. de 2018
cb = colorbar();
cb.Ruler.Scale = 'log';
cb.Ruler.MinorTick = 'on';
  6 comentarios
Jonah Pearl
Jonah Pearl el 20 de Nov. de 2018
Thank you, this works! @Antoine, your error is because you have some data equal to 0 in the Z-direction, and since log(0) is -Inf, the transform fails. Adding a very small number like 0.0001 to your Z-data should fix this. Or you could add in an if statement, if data == 0, add 0.0001.
Walter Roberson
Walter Roberson el 21 de Nov. de 2018
Jonah, the error message Antoine shows depends on version . It was a limitation between r2014b and r2017b that did not depend upon data being 0.

Iniciar sesión para comentar.

Categorías

Más información sobre Axes Appearance en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by