2012-05-27 41 views
6

Tôi đang triển khai thuật toán phân cụm cho n điểm dữ liệu và tôi muốn vẽ các điểm dữ liệu n trong một hình trước khi phân nhóm và trong một hình khác sau khi phân cụm nghĩa là phải có hai số liệu trong cùng một tệp cùng một điểm dữ liệu.Làm thế nào để vẽ hai số liệu trong MATLAB

Mã của tôi cũng giống như:

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

%Some coding section here 

Sau:

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 

Tôi chỉ muốn vẽ (1) trong một con số và (2) ở khác.

+0

bài này có thể hữu ích cho bạn: [Vẽ ba bảng xếp hạng trong một con số] (http://stackoverflow.com/q/10642628/976870) – peaceman

Trả lời

17

Hãy thử subplot:

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

này sẽ tạo ra hai khu vực trục bên trong cửa sổ con số tương tự ... từ mô tả của bạn, đây là đoán tốt nhất của tôi là những gì bạn muốn.

Edit: Từ các ý kiến ​​dưới đây, đây là những gì bạn đang làm

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 

Nếu tất cả các bạn muốn là một nhân vật thứ hai cửa sổ, thay vì làm subplot bạn chỉ có thể nói figure ở nơi này nơi tôi đặt lệnh gọi thứ hai là subplot và cửa sổ hình mới sẽ được tạo.

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 
+0

nó không làm việc – user1416605

+0

Bạn có thể đưa ra một số thông tin thêm về * những gì * không hoạt động - ví dụ: chỉnh sửa câu hỏi của bạn bằng mã không hoạt động? – tmpearce

+0

Xin chào tôi đã thực hiện cập nhật trong câu hỏi của tôi. Vui lòng kiểm tra số này – user1416605

Các vấn đề liên quan