如何以特定间隔绘制具有形状的线条?

时间:2018-01-28 06:15:39

标签: matlab plot matlab-figure

我的代码是

f = myfunc1(...); % (f=1x4 cell) % (f{i} : 1x1000000 matrix)
g = myfunc1(...); % (g=1x4 cell) % (g{i} : 1x1000000 matrix)
color = {'red', 'blue', 'green, 'black};
leg = {'~~~', '~~~', '~~~', '~~~'};
for i=1:4
    figure(1);
    plot(f{i}, color{i});
    hold on;grid on;

    figure(2);
    plot(g{i}, color{i});
    hold on;grid on;
end
for i=1:2
    fig = figure(i);
    legend(leg);
end

这给出了两个数字,每个数字都有四条不同颜色的线条。 但是,它们在显示器中是可区分的,但在黑白打印纸上不能区分黑色。 因此,我尝试添加一些形状,例如圆形,星形,点形等。 我想在每一行上放一种形状。 (不是每一点,而是每100点。)

实际上,我可以在结果上另外绘制形状,但图例不会更改。是否有任何形状绘制功能?

1 个答案:

答案 0 :(得分:1)

plot命令创建的行对象具有MarkerIndices属性,您可以使用该属性来获取所需内容:

x = linspace(0,10,1000);
y = exp(x/10).*sin(4*x);
plot(x,y,'-*','MarkerIndices',1:10:length(y))

取自https://www.mathworks.com/help/matlab/creating_plots/create-line-plot-with-markers.html

的MATLAB文档的示例

请注意,这也与传说很好地互动。