How to display a number in a scientific notation in the plot?
Show older comments
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 Comments
Rik
on 14 Jan 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
on 14 Jan 2022
Walter Roberson
on 14 Jan 2022
text(0.82,0.96, sprintf("$N =\\mbox{10^{%d}}$", log10(n)), 'interpreter', 'latex', 'FontSize', 38) ;
Vikash Pandey
on 14 Jan 2022
Vikash Pandey
on 14 Jan 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
on 16 Jan 2022
Answers (1)
Robert U
on 14 Jan 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 Comment
Vikash Pandey
on 14 Jan 2022
Categories
Find more on Data Type Conversion in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!