3

XY でデータをプロットしています。x は時間、y はその時点での強度です。しかし、3 番目の値に基づいてマーカーの種類を変更できるかどうか疑問に思っていました。

私は現在、次のことを行っています。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

z1 から 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 に答える