Scientific notation values to the y axis label based on original data
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Reid
el 23 de Mayo de 2014
Comentada: Star Strider
el 24 de Mayo de 2014
Hey! I would like to automatically have the y-axis label updated based on the input values for the variable y. In this case I would like the line "-5" in the y-axis label replaced by "10^-5" (with the -5 shown as an exponent).
Thanks in advance for any help!
if true
% code
x=[1:3];
y=[.00002 .00004 .00006];
figure;
plot(x,y);
ylabexp=floor(log10(y(1)));
ylab = {'\uparrow';'\epsilon /';ylabexp;'M^{-1}'};
yh = ylabel(ylab);
set(yh,'rot',0)
ylabh2 = get(gca,'YLabel');
set(ylabh2,'Position',get(ylabh2,'Position') - [.1 0 0])
end
4 comentarios
Star Strider
el 24 de Mayo de 2014
Editada: Star Strider
el 24 de Mayo de 2014
I tried to run your code but couldn’t.
- PLEASE format your code — use the ‘[{}Code]’ button
- what is ‘yval’?
- Y not use semilogy?
Respuesta aceptada
Star Strider
el 24 de Mayo de 2014
Change your ylabexp line to:
ylabexp=sprintf('10^{%d}',floor(log10(y(1))));
If I understand your question correctly, that should do what you want.
0 comentarios
Más respuestas (1)
Ver también
Categorías
Más información sobre Axis Labels 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!