如何在MATLAB中绘制两个数字

时间:2012-05-27 16:24:50

标签: matlab plot

我正在为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)。

2 个答案:

答案 0 :(得分:17)

尝试subplot

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,您只需在第二次调用{{1}的地方说figure将创建一个新的图形窗口。

subplot

答案 1 :(得分:0)

您只需要在每个图前添加 figure 即可获得两个分开的图形中的两个图