PosePlot - Y and Z Axes cannot be reversed

When using the poseplot() tool in Matlab 2023a. Only the X axis can be manipualted. The Y and Z axes cannot be changed. Wondering if this is a bug or if there is another mechanism to reverse the axes.
%% Example Code
% Convert euler angles to quaternion
q = quaternion([30,45,60],'eulerd','XYZ','point')
% Create a poseplot
poseplot(q)
% Try and reverse the axes
set(gca,'ZDir','Reverse')
set(gca,'YDir','Reverse')
set(gca,'XDir','Reverse') % Only X works

 Réponse acceptée

hello
well , your Y and Z directions are already 'reverse' in first place, while Xdir was 'normal'
so if you wanted to change all 3 directions you needed to do
set(gca,'XDir','Reverse')
set(gca,'YDir','normal')
set(gca,'ZDir','normal')
%% Example Code
% Convert euler angles to quaternion
q = quaternion([30,45,60],'eulerd','XYZ','point')
q = quaternion
0.82236 + 0.02226i + 0.43968j + 0.36042k
% Create a poseplot
poseplot(q)
get(gca)
ALim: [0 1] ALimMode: 'auto' AlphaScale: 'linear' Alphamap: [0 0.0159 0.0317 0.0476 0.0635 0.0794 0.0952 0.1111 0.1270 0.1429 0.1587 0.1746 0.1905 0.2063 0.2222 0.2381 0.2540 0.2698 0.2857 0.3016 0.3175 0.3333 … ] (1×64 double) AmbientLightColor: [1 1 1] BeingDeleted: off Box: off BoxStyle: 'back' BusyAction: 'queue' ButtonDownFcn: '' CLim: [0 1] CLimMode: 'auto' CameraPosition: [-18.2628 23.8006 -17.3205] CameraPositionMode: 'auto' CameraTarget: [0 0 0] CameraTargetMode: 'auto' CameraUpVector: [0 0 -1] CameraUpVectorMode: 'auto' CameraViewAngle: 10.3396 CameraViewAngleMode: 'auto' Children: [1×1 PosePatch] Clipping: on ClippingStyle: '3dbox' Color: [1 1 1] ColorOrder: [7×3 double] ColorOrderIndex: 2 ColorScale: 'linear' Colormap: [256×3 double] ContextMenu: [0×0 GraphicsPlaceholder] CreateFcn: '' CurrentPoint: [2×3 double] DataAspectRatio: [1 1 1] DataAspectRatioMode: 'manual' DeleteFcn: '' FontAngle: 'normal' FontName: 'Helvetica' FontSize: 10 FontSizeMode: 'auto' FontSmoothing: on FontUnits: 'points' FontWeight: 'normal' GridAlpha: 0.1500 GridAlphaMode: 'auto' GridColor: [0.1500 0.1500 0.1500] GridColorMode: 'auto' GridLineStyle: '-' GridLineWidth: 0.5000 GridLineWidthMode: 'auto' HandleVisibility: 'on' HitTest: on InnerPosition: [0.1300 0.1100 0.7750 0.8150] InteractionOptions: [1×1 matlab.graphics.interaction.interactionoptions.InteractionOptions] Interactions: [1×1 matlab.graphics.interaction.interface.DefaultAxesInteractionSet] Interruptible: on LabelFontSizeMultiplier: 1.1000 Layer: 'bottom' Layout: [0×0 matlab.ui.layout.LayoutOptions] Legend: [0×0 GraphicsPlaceholder] LineStyleCyclingMethod: 'aftercolor' LineStyleOrder: '-' LineStyleOrderIndex: 1 LineWidth: 0.5000 MinorGridAlpha: 0.2500 MinorGridAlphaMode: 'auto' MinorGridColor: [0.1000 0.1000 0.1000] MinorGridColorMode: 'auto' MinorGridLineStyle: ':' MinorGridLineWidth: 0.5000 MinorGridLineWidthMode: 'auto' NextPlot: 'replace' NextSeriesIndex: 2 OuterPosition: [0 0 1 1] Parent: [1×1 Figure] PickableParts: 'visible' PlotBoxAspectRatio: [1 1 1] PlotBoxAspectRatioMode: 'auto' Position: [0.1300 0.1100 0.7750 0.8150] PositionConstraint: 'outerposition' Projection: 'orthographic' Selected: off SelectionHighlight: on SortMethod: 'depth' Subtitle: [1×1 Text] SubtitleFontWeight: 'normal' Tag: '' TickDir: 'out' TickDirMode: 'auto' TickLabelInterpreter: 'tex' TickLength: [0.0100 0.0250] TightInset: [0 0.0523 0 0] Title: [1×1 Text] TitleFontSizeMultiplier: 1.1000 TitleFontWeight: 'bold' TitleHorizontalAlignment: 'center' Toolbar: [1×1 AxesToolbar] Type: 'axes' Units: 'normalized' UserData: [] View: [-37.5000 30] Visible: on XAxis: [1×1 NumericRuler] XAxisLocation: 'bottom' XColor: [0.1500 0.1500 0.1500] XColorMode: 'auto' XDir: 'normal' XGrid: on XLabel: [1×1 Text] XLim: [-2 2] XLimMode: 'auto' XLimitMethod: 'tight' XMinorGrid: on XMinorTick: off XScale: 'linear' XTick: [-2 0 2] XTickLabel: {3×1 cell} XTickLabelMode: 'auto' XTickLabelRotation: 0 XTickLabelRotationMode: 'auto' XTickMode: 'auto' YAxis: [1×1 NumericRuler] YAxisLocation: 'left' YColor: [0.1500 0.1500 0.1500] YColorMode: 'auto' YDir: 'reverse' YGrid: on YLabel: [1×1 Text] YLim: [-2 2] YLimMode: 'auto' YLimitMethod: 'tight' YMinorGrid: on YMinorTick: off YScale: 'linear' YTick: [-2 -1 0 1 2] YTickLabel: {5×1 cell} YTickLabelMode: 'auto' YTickLabelRotation: 0 YTickLabelRotationMode: 'auto' YTickMode: 'auto' ZAxis: [1×1 NumericRuler] ZColor: [0.1500 0.1500 0.1500] ZColorMode: 'auto' ZDir: 'reverse' ZGrid: on ZLabel: [1×1 Text] ZLim: [-2 2] ZLimMode: 'auto' ZLimitMethod: 'tight' ZMinorGrid: on ZMinorTick: off ZScale: 'linear' ZTick: [-2 -1 0 1 2] ZTickLabel: {5×1 cell} ZTickLabelMode: 'auto' ZTickLabelRotation: 0 ZTickLabelRotationMode: 'auto' ZTickMode: 'auto'
% Try and reverse the axes
set(gca,'XDir','Reverse') % Only X works
set(gca,'YDir','normal') % Y works too
set(gca,'ZDir','normal') % Z works too

1 commentaire

Ah amazing, I hadn't realised that:
set(gca,'YDir','Reverse')
actually set the position to "reverse" I thought it just flipped the axis.
Plot is working great now.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Labels and Annotations dans Centre d'aide et File Exchange

Produits

Version

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by