How can I reduce the number of digits in the colorbar?
23 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Andrea Cesaro
el 4 de Sept. de 2023
Comentada: Andrea Cesaro
el 5 de Sept. de 2023
How can I reduce the number of digits in the colorbar in a code like this:
figure(2)
pcolor(x, y, diff_tau1);
colorbar;
xlabel('x [m]')
ylabel('y [m]')
grid on
6 comentarios
Dyuman Joshi
el 4 de Sept. de 2023
Alright.
However, if we display the values upto only 2 or 3 significant digits after the decimal, all the values will be same (0.20 or 0.199), and that would be confusing.
Respuesta aceptada
MarKf
el 4 de Sept. de 2023
Editada: MarKf
el 4 de Sept. de 2023
You likely need something like this.
surf(1+peaks*0.00001) %obvs this is a quick and bad example, it'd have helped to have the actual data, but anyway
cb = colorbar; %run until here to see what I mean and what changes
cbvals = get(cb,'XTick'); %nowadays cb.XTick would do the trick... let's say backwards compatibility
set(cb,'XTickLabel',sprintfc('%.3f',cbvals)); % 2 or 3
You can see above that there might be issues depending on what's your data. You could also truncate what's displayed instead of rounding (which is what sprintf does) or get the bounds and print depending on those (something like t=get(cb,'Limits'); tks = linspace(t(1),t(2),5); set(cb,'Ticks',tks); set(cb,'TickLabels',arrayfun(@(x) sprintf('%.2f',x),tks,'un',0) )
Más respuestas (0)
Ver también
Categorías
Más información sobre Colormaps 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!