How to pass a variable with latex interpreter in the legend?
48 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Vikash Pandey
el 4 de Dic. de 2023
Comentada: Dyuman Joshi
el 4 de Dic. de 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 comentarios
Respuesta aceptada
Walter Roberson
el 4 de Dic. de 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 comentarios
Vikash Pandey
el 4 de Dic. de 2023
Editada: Vikash Pandey
el 4 de Dic. de 2023
Walter Roberson
el 4 de Dic. de 2023
lgd = legend(["$M>3$", "$\tau = $ " + a_Fit + " $p = $ " + r_Fit], 'interpreter', 'latex');
Más respuestas (1)
Dyuman Joshi
el 4 de Dic. de 2023
Editada: Dyuman Joshi
el 4 de Dic. de 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 comentarios
Ver también
Categorías
Más información sobre Environment and Settings en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!