我在一个 .dat 文件中有来自模拟的数据。根据文件一列(此处为#13)中包含的某些标准('bu'),我想用不同的标记绘制数据,同时定义标记大小和标记面属性。我所拥有的是针对不同情况的切换环境——定义我想要的标记和属性,所有这些都在一个 for 循环中,以遍历所有模拟数据。
我尝试了以下方法:
for i=1:s1(1)
bu = data1(i,13);
switch bu
case 1
set(h,'kd','MarkerSize',14,'MarkerFaceColor','k');
case 2
set(h,'kd','MarkerSize',14);
case 3
set(h,'k>','MarkerSize',14,'MarkerFaceColor','k');
case 4
set(h,'ks','MarkerSize',14,'MarkerFaceColor','k');
case 5
set(h,'ks','MarkerSize',14);
case 6
set(h,'ko','markersize',14);
case 7
set(findobj(gca,'k^','MarkerSize',14,'MarkerFaceColor','k'));
end
figure(1);
h=plot(Re1(i),A1(i)); hold on
end
首先我尝试使用句柄'h',但它说它是未定义的,我猜是因为 h=plot 稍后出现。然后我在最后一种情况下尝试了 findobj (这是第一次模拟的情况,所以这在第一轮中给出了错误),也没有工作(“不完整的属性值对” - 不知道这里的意思) .
我还尝试将所有这些属性放在一个字符串中,例如
str=['kd','MarkerSize',14,'MarkerFaceColor','k']
然后用
h=plot(Re1(i),A1(i),str); hold on
但它也不适用于有/没有括号。
现在我没有任何进一步的想法,感谢任何建议!