先说问题吧:
一幅图画了几条曲线,其中有一条是分段画的,这些段是一种颜色,其他线是其他颜色,最终显示结果,明显这条线只需要一个legend,即需要将一些线的标签不显示,即选择性显示标签。曾尝试用空字符表示这条线的其他段,但是最终legend时,空字符也是一个标签,还是标签过多。
查了一下,还是很多方法解决问题的------
1、百度的AI结果,还是很好的:
最后一句:
'Callback', @(src,event) set(legend_handles(2), 'Visible', get(src,'Value') == 1));
不多赘述,看代码即明白,这些方法都可行。
matlab gui legend选择显示-CSDN博客 这个其实就是方法2.
2、有一种新的情况,即一次画了多条曲线(多个图)
MATLAB-显示指定曲线的legend - 简书 (jianshu.com)
即是:
另legend函数支持字体大小、类型、粗细等键值对设置。也可以用句柄的属性来设置,如下:
% 创建示例数据
x = linspace(0, 2*pi, 100);
y1 = sin(x);
y2 = cos(x);
% 绘制图形
figure;
plot(x, y1, 'r', x, y2, 'b');
hold on;
% 创建图例
h_legend = legend({'sin(x)', 'cos(x)'});
% 设置图例的字体大小
h_legend.FontSize = 12; % 将字体大小设置为12
% 设置图例的字体为粗体,并将字体名称设置为'Arial'
h_legend.FontWeight = 'bold';
h_legend.FontName = 'Arial';