我想在我的图例中增加线宽,同时还能看到这条线是虚线。我简短地说明了我的意思
for i=1:10
x(i)=i;
line1(i)=i;
line2(i)=2*i;
endfor
subplot(2,1,1)
plot(x,line1,"-","LineWidth",1,x,line2,"--","LineWidth",1)
legend("solid","dashed")
subplot(2,1,2)
plot(x,line1,"-","LineWidth",10,x,line2,"--","LineWidth",10)
legend("solid","dashed")
正如您在第二张图片中看到的那样,只有一条线而不是虚线。
正如上面的评论所暗示的那样,破折号模仿了图形本身中线条的属性,并且它太长了,无法以有用的方式渲染(至少在特定示例的上下文中)。
图例本身就是一个合适的轴对象,允许您获取和设置其属性。您可以增加其大小并将其包含的对象重新放置在适当的位置,或者,如果您不特别关注图例与绘图本身具有相同的形式,则可以将其线条样式或线宽替换为某些内容其他。例如。尝试在示例后添加以下行:
a = get(gcf, 'children');
b = get(a(1), 'children');
set(b(1), 'linestyle', ':');
结果:
Andy的评论让我想出了与Tasos相比的另一种方法。我增加了传奇盒子的大小。仍然有一些需要使用确定的位置和大小,但它按预期工作。
for i=1:10
x(i)=i;
line1(i)=i;
line2(i)=2*i;
endfor
subplot(2,1,1)
plot(x,line1,"-","LineWidth",1,x,line2,"--","LineWidth",1)
legend("solid","dashed")
subplot(2,1,2)
plot(x,line1,"-","LineWidth",10,x,line2,"--","LineWidth",10)
hleg1=legend("solid","dashed")
%added line
set(hleg1,'position',[0.6 0.3 0.3 0.2])