2012-08-10 25 views
5

Tôi có dữ liệu 3D được vẽ bằng chức năng 'plot3'. Tôi muốn hạn chế các trục Y và Z sao cho chúng ngang bằng nhau. Trục X sẽ được tự động thu nhỏ như bình thường.Kết hợp các trục tỷ lệ

Tôi biết từ here mà tôi có thể làm cho trục X được là người duy nhất để được tự động thu nhỏ bằng cách sử dụng lệnh:

axis 'auto x'; 

Tuy nhiên, điều này gây ra Y và Z trục được vẽ từ 0 đến 1 chỉ; dữ liệu của tôi thường vượt quá điều này trong tất cả các trục. Những gì tôi đang tìm kiếm là một âm mưu chứa tất cả dữ liệu trong một khung nhìn duy nhất, nhưng với nhỏ nhất của trục Y hoặc Z được co lại sao cho trục Y và trục Z tương đương về quy mô.

Mọi trợ giúp sẽ được nhận biết ơn.

Trả lời

7

Hãy thử daspect.

plot3(5*rand(10,1),10*rand(10,1),rand(10,1)) 

tmpAspect=daspect(); 
daspect(tmpAspect([1 2 2])) 

daspect() trả về tỷ lệ khung hình hiện tại như được tạo bởi trục 'tự động'.

daspect(tmpAspect([1 2 2])) sau đó thực thi rằng y và z có cùng tỷ lệ.

4

Làm thế nào về

axis equal 

hoặc thậm chí

axis tight 
axis equal 

cả sau cốt truyện đã được rút ra.

Đây có phải là ý của bạn không?

Nhập help axis tại dấu nhắc lệnh Matlab để có thêm khả năng của hàm axis.

+1

Có - "trục bằng" thực hiện công việc, ngoại trừ tôi chỉ muốn điều này áp dụng cho trục Y và Z; trục X sẽ vẫn giữ nguyên – CaptainProg

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