Data from [P2,P2]

I think I have something misunderstood about [P2,P2] fespaces
I have the following fespace that I use on an elasticity problem
fespace Vh(th, [P2,P2]); Vh [ux, uy], [w, s];
To extract the displacement on the x axis I used
for(int i=0; i < ux.n; i++){ ux1(i)=ux[](i); }
By doing the same on to get the displacement on the y axis (uy) I get the same values as ux which definently doesnt make sense since I’ve only applied vertical force.
Do I understand something wrong about [P2,P2] spaces?

For a vector fespace [ux, uy], the array ux[] is the array of all the degrees of freedom of the finite-element space [P2,P2]. The same is also true for uy[]. So both ux[](i) and uy[](i) return the same i-th degree of freedom of the full fe-space…

To day to get only the ux replacement

     fespace Wh(th,P2); //scalar FE.
     Wh wx,wy; // x,y déplacement
    //  simple way

for(int i=0; i < wx.n; i++){ wx[][i]=ux[](2*i); } 
for(int i=0; i < wy.n; i++){ wy[][i]=ux[](2*i+1); }