Clear Filters
Clear Filters

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

49 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.

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!