A customized legend using LaTeX
6 次查看(过去 30 天)
显示 更早的评论
Hello! I wanted to make a customized legend for two functions on the same graph and I need both flat text and LaTeX support. At the moment I built something like this:
figure;
N = 1:1:length(train_value);
plot(N, train_value, N, test_value, 'LineWidth', 1.5);
xlabel('numer iteracji', 'fontweight', 'bold');
ylabel('\boldmath$\overline{\kappa}_C$', 'Interpreter', 'latex', 'fontweight', 'bold', 'fontsize', 17);
l = legend('XXX', 'YYY');
set(l, 'Interpreter', 'latex', 'string', 'warto\''s\''c \boldmath${\overline{\kappa}_C}$ dla zbior\''ow treningowych', 'Interpreter', 'latex', 'string', 'warto\''s\''c \boldmath${\overline{\kappa}_C}$ dla zbior\''ow testowych');
It works almost well. The only problem is that the last settings instead of being added overwrite the first settings. As a result, I have a legend for only one graph.
0 个评论
采纳的回答
Star Strider
2017-12-27
编辑:Star Strider
2017-12-27
I would put the LaTeX strings in the legend entries themselves, then define the interpreter in the set call.
Example —
x = 1:10; % Create Data
y1 = randn(1, 10); % Create Data
y2 = rand(1, 10); % Create Data
figure(1)
plot(x, y1, 'pg', x, y2, 'pr')
l = legend('$e^{x}$', '$U(x)$');
set(l, 'interpreter', 'latex')
1 个评论
John K. George
2021-9-14
This code (below) works for me;...however, I need to display one legend with multiple plots of "string(app.selectedData1)". Currently, only the most recent selectedData1 is displayed in legend. How do I update the code here (below), to display all values of string(app.selectedData1)??
plot(data(:,1), data(:,2),'DisplayName',string(app.selectedData1))
t = legend(string(app.selectedData1),'Interpreter','latex')
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Legend 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!