虚线与粗线宽无法区分
Dashed line not distinguishable with thick Linewidth
我想增加图例中的线宽,同时仍然能够看到这条线是虚线。我有一个简短的例子
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")
这给出了下图
正如您在第二张图片中看到的那样,只有 1 条线而不是虚线。
正如上面的评论所暗示的那样,破折号模仿了图中线条的属性,它太长而无法以有用的方式呈现(在您的特定示例的上下文中,在最少)。
图例本身就是一个合适的坐标区对象,允许您获取和设置它的属性。您可以增加其大小并将其包含的对象重新放置在适当的位置,或者,如果您不特别关心图例具有与绘图本身完全相同的形式,则可以将其线型或线宽替换为某些东西别的。例如。尝试在您的示例之后添加以下行:
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])
我想增加图例中的线宽,同时仍然能够看到这条线是虚线。我有一个简短的例子
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")
这给出了下图
正如您在第二张图片中看到的那样,只有 1 条线而不是虚线。
正如上面的评论所暗示的那样,破折号模仿了图中线条的属性,它太长而无法以有用的方式呈现(在您的特定示例的上下文中,在最少)。
图例本身就是一个合适的坐标区对象,允许您获取和设置它的属性。您可以增加其大小并将其包含的对象重新放置在适当的位置,或者,如果您不特别关心图例具有与绘图本身完全相同的形式,则可以将其线型或线宽替换为某些东西别的。例如。尝试在您的示例之后添加以下行:
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])