在动态图中更改标记

时间:2014-12-18 10:03:22

标签: matlab plot

我有什么:

hold on
for i =1:length(tspan)
    var{i} = Tv(:,i);
    str{i} = ['t = ',num2str(tspan(i)), ' s'];
    plot(z,var{i},'DisplayName',str{i});
end
legend('-DynamicLegend');

这完美无缺(感谢this),但它打印出所有蓝线。 我尝试设置colormap(默认值)并像这样使用它,但输出是相同的

plot(z,var{i},'DisplayName',str{i},'Color', colormap(i,:));

我还想看到每个情节的不同标记。怎么可能改变它们?

修改

Thanks to ironzionlion我修复了颜色。 如何使用标记执行相同操作?

1 个答案:

答案 0 :(得分:2)

根据post that you mention,你必须定义你的情节中需要i种不同的颜色。这可以通过colors = hsv(i)

来完成

你的情节句子将是:plot(z,var{i},'DisplayName',str{i},'Color', colors(i,:));

更新

我不知道"markermap"的存在。您可以通过预先定义所需的different markers来解决问题(快速而肮脏的解决方案):mrk={'o','+','*','.'};

然后,您将通过每次选择相应的标记进行绘图:

plot(z,var{i},'DisplayName',str{i},'Color', cmap(i,:),'Marker', mrk{i});