如何在线条和标记中制作不同的颜色

How to make different colors in line and marker

我使用以下方法绘制两个图形:

x=linspace(-5,5,10); 
y1=2*x;
y2=x.^2;
subplot(1,2,1);
plot(x,y1,'sr-');
subplot(1,2,2);
plot(x,y2,'b-o');

我想让标记和线有不同的颜色,就像第一个图中的红线和黑色标记。但是,使用上面的线条和标记具有相同的颜色。我怎样才能使标记的颜色与线条的颜色不同?

添加更多参数,如 LineWidthMarkerSizeMarkerFacecolor 有帮助:

您可以为您的 plot() 命令指定一个 'MarkerEdgeColor' 名称-值对:

x=linspace(-5,5,10);
y1=2*x;
y2=x.^2;
subplot(1,2,1);
plot(x,y1,'sr-','MarkerEdgeColor','b');
subplot(1,2,2);
plot(x,y2,'b-o','MarkerEdgeColor','r');

导致:

请注意,我通过在初始命令中包含 'r''b' 以 "usual" 方式为线条着色,并手动更改标记颜色。查看 line properties 上的文档,了解您可以为一条线路调整的所有参数。

让我们解压你的命令:

您要求 sr- 您的情节,即 "square, red, line"。如果我们把它分成 "square, " 和 "red, line",你就可以得到你想要的效果:

hold on
plot(x,y1,'r-');
plot(x,y1,'sb');

或者使用@Adriaan的建议,但最终效果略有不同。