图例标题在MatLab上不起作用

时间:2017-04-16 13:24:06

标签: matlab matlab-figure

我试图在我的matlab代码中将标题放在我的图例功能上,但它不起作用。我在他们的网站上使用MatLab官方帮助,但它没有改变任何东西。

我的代码:

stem(100,300,'blue', 'Marker', '*', 'MarkerSize', 4,'LineStyle', '-');
hold on
stem(80,500,'green', 'Marker', '*', 'MarkerSize', 4,'LineStyle', '-');
hold on
stem(30,1400,'red', 'Marker', '*', 'MarkerSize', 4,'LineStyle', '-');
axis([0 150 0 2000]);
hold off
lgd=legend('100%','80%','30%','Location','northeastoutside');
**title(lgd,'My Legend Title','FontSize',12);**
xlabel('DoD(%)','fontname','times','fontsize',16);
ylabel('Number of cycles','fontname','times','fontsize',16);

来自Matlab网站我拿了这段代码

x = -pi:pi/20:pi;
y1 = sin(x);
plot(x,y1)

hold on
y2 = cos(x);
plot(x,y2)
hold off

lgd = legend('sin(x)','cos(x)');
**title(lgd,'My Legend Title')**

但情节仍然没有改变。

2 个答案:

答案 0 :(得分:0)

我找到了早期版本的Matlab的解决方案。

我认为il_raffa是对的 - 在Matlab 2016a及更高版本(我认为)中支持为title设置legend

从此处下载legendTitlehttp://www.mathworks.com/matlabcentral/fileexchange/48331-add-a-title-to-a-legend

您可以使用以下代码示例:

stem(100,300,'blue', 'Marker', '*', 'MarkerSize', 4,'LineStyle', '-');
hold on
stem(80,500,'green', 'Marker', '*', 'MarkerSize', 4,'LineStyle', '-');
hold on
stem(30,1400,'red', 'Marker', '*', 'MarkerSize', 4,'LineStyle', '-');
axis([0 150 0 2000]);
hold off
lgd=legend('100%','80%','30%','Location','northeastoutside');

xlabel('DoD(%)','fontname','times','fontsize',16);
ylabel('Number of cycles','fontname','times','fontsize',16);

if verLessThan('matlab', '9.0')
    %Before Matalb 2016a, use legendTitle (downloaded from MathWorks file exchange).
    set(lgd, 'Position', get(lgd, 'Position').*[1, 0.9, 1, 1]);
    legendTitle(lgd, 'My Legend Title','FontSize',12);
else
    %Matalb 2016a and above, use title (built in function).
    title(lgd,'My Legend Title','FontSize',12);
end

Matlab 2016a
enter image description here

Matlab 2014b
enter image description here

Matlab 2012b
enter image description here

答案 1 :(得分:0)

你可以试试这个:

set(get(lgd,'Title'),'String','My Legend Title')

enter image description here