Add header to legend columns
40 次查看(过去 30 天)
显示 更早的评论
Hello everyone,
I'd like to add a header to each column of a legend, which I manually did by calling the legend function with the parameter ('Box','off') and adding a rectangle around the legend as well as a text box containing the headers in bold (see attached file). Unfortunately, the grid can be seen through the legend by this method. How can I achive a better looking result without the grid lines in the rectangle?
Thanks for your help!
7 个评论
Sulaymon Eshkabilov
2023-2-16
Use:
legend('box', 'off') % Get rid off the box and line
Dyuman Joshi
2023-2-16
There doesn't seem any way to remove that particular line.
The only other way seems to be, is that you draw two white lines and name their legend 'plate:' and 'cylinder:' to get what you want. Even in that case, alignment will be different.
x = 0:0.01:10;
s=sin(x);
c=cos(x);
plot(x,x*0,'w',x,s,x,c,x,s+c,x,x*0,'w',x,s.*c,x,s-c,x,c-s)
grid on
ylim([-2.5 3.5])
l=legend({'plate:', 'sin', 'cos', 'sin+cos', 'cylinder:','sin*cos', 'sin-cos', 'cos-sin'}, 'Location', 'NorthWest', 'NumColumns', 2);
%t=title(l,'plate: cylinder: ');
回答(1 个)
Raghvi
2023-2-16
Hey,
Although it doesn’t create the desired spacing, you can try out the following piece of code:
lgd = legend({'1->2','3->4','1->2','3->4'},...
'Location','northwest','NumColumns',2);
title(lgd,['plate: ' 'cylinder:'])
Alternatively, you can work around by using two different legends for the different lines all together and provide them both with a separate title using the title function.
Refer to the following MATLAB Answer to understand how to do so:
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!