Matlab 动态图中的变化标记
我所拥有的:Matlab 动态图中的变化标记,matlab,plot,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'); 这很好地工作(感谢),但它打印出了所有的蓝线。 我试图设置一个颜色映射(默认设置)并像这样使用它,但输出是相同的 plot(z,var{i},
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');
这很好地工作(感谢),但它打印出了所有的蓝线。
我试图设置一个颜色映射(默认设置)并像这样使用它,但输出是相同的
plot(z,var{i},'DisplayName',str{i},'Color', colormap(i,:));
我还想看到每个地块的不同标记。如何才能改变它们
编辑
我调整了颜色如何使用标记进行相同操作?根据,您必须定义在绘图中需要不同的颜色。这可以通过使用colors=hsv(i)
然后,您的绘图语句将是:plot(z,var{i},'DisplayName',str{i},'Color',colors(i,:)代码>
更新
我不知道存在“markermap”
。您只需预先定义所需的(快速而肮脏的解决方案)即可解决此问题:mrk={'o'、'+'、'*'、'.'}代码>
然后,您将通过每次选择相应的标记进行打印:
plot(z,var{i},'DisplayName',str{i},'Color',cmap(i,:),'Marker',mrk{i})代码>我通常只是用各种符号和索引创建一个普通数组them@chris说得好,但我希望这是尽可能自动化的。现在我有七个情节,但我可能有更多或更少,取决于我需要什么。如果我不能用其他方法,我将设置一个15个符号的数组并从中选取…我认为R2014b中改变了这种行为(请参阅)。如果您使用的是旧版本,则必须创建自己的颜色阵列。我通常用它来做这个用途。