3

我在 XY 中绘制数据,x 是时间,y 是那个时候的强度。但是,我想知道是否可以根据第三个值更改标记的类型?

我现在正在做以下事情。我希望能够根据 zVector 中 1-6 的值设置标记形状,因此标记将在整个图中发生变化。

dataAdjusted = dlmread('file.csv');

xVector = dataAdjusted(:,1)
yVector = dataAdjusted(:,2)
zVector = dataAdjusted(:,3)  

figure 
hold on

plot(xVector, yVector, '-ro','MarkerSize',3, 'MarkerEdgeColor', 'k', 'MarkerFaceColor','k') 
4

1 回答 1

3

这是一个示例,如何为z从 1 到 3 的值完成此操作...

x=rand(1,10);
y=rand(1,10);
z=randi(3,1,10);

plot(x(z==1),y(z==1),'o',...
     x(z==2),y(z==2),'x',...
     x(z==3),y(z==3),'s')   

我认为您可以很容易地看到如何使用 for 循环对其进行概括。

编辑 - 这是一个 for 循环实现:

markerlist='sox';
colorlist='rgb';
for n=1:max(z)
plot(x(z==n), y(z==n), markerlist(n),'MarkerSize',5, 'MarkerEdgeColor', 'k', 'MarkerFaceColor',colorlist(n)) 
hold on
end 
hold off

在此处输入图像描述

于 2013-06-03T05:43:46.997 回答