How to pass a variable with latex interpreter in the legend?

55 views (last 30 days)
I am mentioning the relevant part of the code below. r_Fit is supposed to be a variable. How do I pass its value in the legend with a mathematical expression, $\tau = $ attached to it? Please help.
a_Fit = output_parameters(1);
r_Fit = output_parameters(2);
r_Fit_Str = num2str(r_Fit);
N_AS_Above3_Fit = a_Fit.*N_Days.^(-r_Fit);
figure(002);
plot(N_Days, N_AS_Above3, '+', 'LineWidth', 3, 'MarkerSize', 14, 'MarkerEdgeColor', 'r');
hold on;
plot(N_Days, N_AS_Above3_Fit, 'k', 'LineWidth', 3);
lgd = legend({'$M>3$', '$\tau = $ r_Fit'}, 'interpreter', 'latex');

Accepted Answer

Walter Roberson
Walter Roberson on 4 Dec 2023
lgd = legend(["$M>3$", "$\tau = $ " + r_Fit], 'interpreter', 'latex');
This will convert r_Fit according to internal (and seemingly inconsistent) rules about how many digits should be converted.
If you need more certainty in the formatting, use compose
  3 Comments
Vikash Pandey
Vikash Pandey on 4 Dec 2023
Edited: Vikash Pandey on 4 Dec 2023
One more question. I wish to add another variable in the second legend. I tried this, but it did not worked. It only prints the first legend and the first part of the second legend.
lgd = legend(["$M>3$", "$\tau = $ " + a_Fit "$p = $ " + r_Fit], 'interpreter', 'latex');
Walter Roberson
Walter Roberson on 4 Dec 2023
lgd = legend(["$M>3$", "$\tau = $ " + a_Fit + " $p = $ " + r_Fit], 'interpreter', 'latex');

Sign in to comment.

More Answers (1)

Dyuman Joshi
Dyuman Joshi on 4 Dec 2023
Edited: Dyuman Joshi on 4 Dec 2023
Use compose to generate the string, modify it and use it as an input to legend().
Note that added \ before \tau.
str = compose(['$\\tau = $ %f'], r_fit)
str = [{'$M>3$'} str];
legend(str, 'interpreter', 'latex');
Change the modifier according to the data-type and according to the number of digits you want to show.
  4 Comments

Sign in to comment.

Categories

Find more on Environment and Settings in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!