How to pass a variable with latex interpreter in the legend?
55 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Vikash Pandey
il 4 Dic 2023
Commentato: Dyuman Joshi
il 4 Dic 2023
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');
0 Commenti
Risposta accettata
Walter Roberson
il 4 Dic 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 Commenti
Walter Roberson
il 4 Dic 2023
lgd = legend(["$M>3$", "$\tau = $ " + a_Fit + " $p = $ " + r_Fit], 'interpreter', 'latex');
Più risposte (1)
Dyuman Joshi
il 4 Dic 2023
Modificato: Dyuman Joshi
il 4 Dic 2023
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 Commenti
Vedere anche
Categorie
Scopri di più su Environment and Settings in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!