2012-08-10 18 views
5

Mam dane 3D wykreślone przy użyciu funkcji "plot3". Chciałbym ograniczyć osie Y i Z, tak aby były równe pod względem skali. Oś X powinna być automatycznie skalowana jak zwykle.Dopasowywanie osi skal

wiem z here że mogę sprawić, że oś X jest jedynym, które mają być automatycznie skalowane za pomocą polecenia:

axis 'auto x'; 

to jednak powoduje, że Y i Z osiach zostać wykreślone od 0 do Tylko 1; moje dane często przekraczają to we wszystkich osiach. Czego szukam to wykres, który zawiera wszystkie dane w jednym widoku, ale z najmniejszą z osi Y lub Z przeskalowaną tak, że osie Y i Z są równoważne pod względem skali.

Każda pomoc zostanie z wdzięcznością przyjęta.

Odpowiedz

7

Wypróbuj daspect.

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

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

daspect() zwraca bieżący współczynnik kształtu, jak produkowany przez oś "auto".

daspect(tmpAspect([1 2 2])) następnie egzekwuje, że y i z mają tę samą skalę.

4

Jak o

axis equal 

lub nawet

axis tight 
axis equal 

zarówno po fabuła została sporządzona.

Czy to masz na myśli?

Wpisz help axis w wierszu polecenia Matlab, aby uzyskać więcej możliwości funkcji axis.

+1

Tak - "oś równa" wykonuje zadanie, oprócz tego, że chcę to tylko zastosować do osi Y i Z; oś X powinna pozostać taka, jaka jest – CaptainProg

Powiązane problemy