2013-04-22 12 views
8

Supponiamo di avere i vettori xey, so che posso fare plot(x,y) o plot(y,x) per ottenere ciò che voglio. Tuttavia, la mia domanda è specifica: se ho già un grafico già creato in una figura come plot(x,y), come posso scambiare gli assi orizzontale e verticale a livello di programmazione in modo tale che sto dicendo efficacemente plot(y,x)?In Matlab come posso scambiare gli assi orizzontali e verticali di una trama esistente

+0

puoi per favore condividere dove ha praticamente bisogno di fare? sembra essere abbastanza interessante anche se hai entrambi i vettori pronti in mano ... – noufal

+0

Stai dicendo che non hai più 'x' e' y' in memoria? – Dan

+0

@noufal Sto usando una GUI di cui ho un controllo limitato (non sono autorizzato a modificare fondamentalmente la sua struttura anche se posso aggiungerla). La GUI espone la trama con gli assi disposti in un modo particolare di cui ho bisogno del contrario. Dato che ho un controllo limitato sulla GUI stessa, questa è l'unica opzione ... –

risposta

8

Interessante domanda +1. L'esempio seguente mostra come scambiare i x e y assi della cifra attuale:

X = (1:100)'; %# Create x axis data 
Y = randn(100, 1); %# Create y axis data 
plot(X, Y); %# Plot the data 
view(-90, 90) %# Swap the axes 
set(gca, 'ydir', 'reverse'); %# Reverse the y-axis (Optional step) 

Inoltre, un collegamento relativo a Matlab centrale è here.

+0

Bello, grazie! –

Problemi correlati