2011-12-17 13 views
6

Say, ví dụ, tôi đã ...Kết nối điểm cuối cùng và đầu tiên trong âm mưu xy đơn giản (Vẽ khép kín đường cong/đa giác)

x = [1 1 2 2]; 
y = [1 2 2 1]; 
plot(x, y, 'b-'); 

tôi sẽ nhận được một âm mưu với các đường kết nối các điểm (1,1), (1,2) và (2,2). Có cách nào để kết nối điểm cuối cùng với điểm đầu tiên, do đó hoàn thành hình vuông trên cốt truyện không?

Tôi cũng đang kéo dòng văn bản có điểm, vì vậy chỉ cần thêm một điểm 1.1 khác không phải là một tùy chọn.

Trả lời

10

impoly có thể hữu ích, tuy nhiên, nó tạo ra một đường cong thay đổi được đó là chậm hơn so với cốt truyện.

Bạn có thể viết một hàm đơn giản cho rằng:

function plotc(x,y,varargin) 
    x = [x(:) ; x(1)]; 
    y = [y(:) ; y(1)]; 
    plot(x,y,varargin{:}) 
end 

Bằng cách này, các nhà điều hành (:) ruột được sử dụng làm phương tiện chương trình phòng thủ. Theo cách này, xy có thể là các vectơ hàng hoặc cột.

Các varargin cho phép sử dụng các thông số bổ sung, như:

plotc(x,y,'Color','r'); 
plotc(x,y,'Parent',a,'LineWidth',2); 
+1

tuyệt vời! làm việc hoàn hảo:] –

2

Trừ khi điểm cuối cùng và cuối cùng của bạn giống nhau plot sẽ không biết rằng bạn muốn có đường cong khép kín. Vì vậy, hãy thêm một điểm bổ sung vào danh sách của bạn để vẽ hoặc thử sử dụng, ví dụ: rectangle.