Plotting powers of 10 on the colorbar
Mostrar comentarios más antiguos
Hello,
Is there any way to have powers of 10 (like 1e5, 1e6, 1e7) to be plotted on the colorbar as tickmarks without resorting to using log10? I tried the following code.
col = colorbar('XTickLabel', {'10^{5}', '10^{6}', '10^{7}'}, 'XTick',1e10:1e11:1e12);
caxis([1e10 1e12])
but that just gives me a colorbar with the xticks repeated as shown in colorbar.jpg (attached).
I also tried taking the log10 of these values as shown by the following code and got the desired output as shown in colorbar_log.jpg (attached):
col = colorbar('XTickLabel', {'10^{5}', '10^{6}', '10^{7}'}, 'XTick',log10(1e5):1:log10(1e7));
caxis([log10(1e5) log10(1e7)])
I however was wondering whether the same output as in colorbar_log.jpg can be obtained without resorting to taking log10.
Thanks.
Respuesta aceptada
Más respuestas (1)
You can use naturlal log (log) or base-2 log (log2) (but I think log10 makes the most sense):
col = colorbar('XTickLabel', {'10^{5}', '10^{6}', '10^{7}'}, 'XTick',log(10.^(5:7))/log(10));
caxis([5 7])
figure();
col = colorbar('XTickLabel', {'10^{5}', '10^{6}', '10^{7}'}, 'XTick',log2(10.^(5:7))/log2(10));
caxis([5 7])
Categorías
Más información sobre Colorbar en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

