How to display a number in a scientific notation in the plot?
Mostrar comentarios más antiguos
The code is below:
n=1000;
text(0.82,0.96, "$N =\mbox{ } $" +num2str(n), 'interpreter', 'latex', 'FontSize', 38) ;
I want that, "N =10^3" be displayed and not "N = 1000".
8 comentarios
Rik
el 14 de En. de 2022
Only the first and last line are relevant.
What did you attempt? And is n guaranteed to be a power of 10?
It is probably easiest to use the sprintf function and edit that output.
Vikash Pandey
el 14 de En. de 2022
Walter Roberson
el 14 de En. de 2022
text(0.82,0.96, sprintf("$N =\\mbox{10^{%d}}$", log10(n)), 'interpreter', 'latex', 'FontSize', 38) ;
Vikash Pandey
el 14 de En. de 2022
Vikash Pandey
el 14 de En. de 2022
That is exactly the result of the code that Walter provided:
n=1000;
sprintf("$N =\\mbox{10^{%d}}$", log10(n))
The problem is your \mbox .
n = 1000;
text(0.82,0.96, sprintf("$N ={10}^{%d}$", log10(n)), 'interpreter', 'latex', 'FontSize', 18) ;
The support TeX markup is shown at https://www.mathworks.com/help/matlab/ref/matlab.graphics.primitive.text-properties.html#budt_bq-1_sep_shared-Interpreter . Unfortunately I do not see a list of supported latex markup.
Vikash Pandey
el 16 de En. de 2022
Respuestas (1)
Robert U
el 14 de En. de 2022
Hi Vikash Pandey,
have a look at the function num2eng from Mathworks File Exchange. You can change easily the tick label:
fh = figure;
ah = axes(fh);
ph = plot(ah,1000:1000:10000,0:1000:9000)
ah.XTickLabel = num2eng(ah.XTick)
ah.YTickLabel = num2eng(ah.YTick)
Kind regards,
Robert
1 comentario
Vikash Pandey
el 14 de En. de 2022
Categorías
Más información sobre Annotations 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!
