6

我正在为n数据点实现聚类算法,我想n在聚类之前在一个图中绘制数据点,在聚类之后在另一个图中绘制数据点,这意味着同一文件中应该有两个具有相同数据点的图。

我的代码是这样的:

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

%Some coding section here

后:

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

我只想在一个图中绘制(1),在另一个图中绘制(2)。

4

2 回答 2

18

尝试子图

figure;
subplot(1,2,1)
plot(firstdata)
subplot(1,2,2)
plot(seconddata)

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

编辑:从下面的评论中,这就是你在做什么

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

如果您想要的只是第二个图形窗口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
于 2012-05-27T16:29:14.627 回答
0

您只需要figure在每个图之前添加即可在两个单独的图中获得两个图

于 2021-02-15T19:09:40.393 回答