如何在MATLAB中绘制两个数字

use*_*605 6 matlab plot

我正在实现n数据点的聚类算法,我希望n在聚类之前绘制图中的数据点,并且在聚类之后绘制另一个图中的数据点意味着在同一文件中应该有两个具有相同数据点的数字.

我的代码是这样的:

X = 500*rand([n,2]);
plot(X(:,1), X(:,2), 'r.')                   1

%Some coding section here
Run Code Online (Sandbox Code Playgroud)

后:

symbs = {'r+','g.','bv','m*','ko'};
hold on
for i = 1: length(I)
    plot(X(C==i,1), X(C==i,2), symbs{i})     2
end
Run Code Online (Sandbox Code Playgroud)

我只想在一个图中绘制(1)而在另一个图中绘制(2).

tmp*_*rce 17

尝试子图:

figure;
subplot(1,2,1)
plot(firstdata)
subplot(1,2,2)
plot(seconddata)
Run Code Online (Sandbox Code Playgroud)

这将在同一个图形窗口中创建两个轴区域......根据您的描述,这是我对您想要的最佳猜测.

编辑:从下面的评论中,您正在做的事情

n=50;
X = 500*rand([n,2]);
subplot(1,2,1); #% <---- add 'subplot' here
plot(X(:,1),X(:,2),'r.')
symbs= {'r+','g.','bv','m*','ko'}; 
subplot(1,2,2); #% <---- add 'subplot' here (with different arguments)
hold on
for i = 1: length(I)
plot(X(C==i,1),X(C==i,2),symbs{i})
end
Run Code Online (Sandbox Code Playgroud)

如果你想要的只是第二个数字窗口,而不是subplot你可以简单地说出figure我第二次调用的地方,subplot就会创建一个新的数字窗口.

figure; #% <--- creates a figure window
n=50;
X = 500*rand([n,2]);
plot(X(:,1),X(:,2),'r.') #% <--- goes in first window


symbs= {'r+','g.','bv','m*','ko'}; 
figure; #% <---- creates another figure window
hold on
for i = 1: length(I)
plot(X(C==i,1),X(C==i,2),symbs{i}) #% <--- goes in second window
end
Run Code Online (Sandbox Code Playgroud)