Issues with quaternion (rotation) data from sensor MPU 9150

I’m getting the quaternions data from MPU 9150 (connected to arduino).
Then I decided to convert them into euler angles and see what happened.
I made three data aquisitions.

First was made when sensor was at initial position where Z axis is prependicular to the floor.
The second then X axis was prependicular to the floor (same with Y).
Rotation was made along z x and y axises (actually along Z global axis).

So the only correct data was made when rotating along Z axis. The Z axis was rotating. The other two were not.

But the problem happens when I rotate sensor along X or Y axis: in that case all the axis rotates instead of only one.

Please take a look on the pictures attached.

The question is, what can be the cause of such an error?
MPU is using DMP to estimate quaternions. So I rely on them. Should those quaternions be processed after getting them from DMP? I’m not sure.

fig1.png

fig2.png

fig3.png