Can hgtransform be Used with a Constant Line Object?

1 view (last 30 days)
This code runs fine on my machine with 2022a. Generates an error here with 2024a. Didn't see anything in the release notes to suggest that setting the parent of a Constant Line to a Transform should no longer work.
rng(100)
figure;scatter(randn(100,1),randn(100,1))
theta = 30;
h = xline(0);
t = hgtransform('Parent',gca);
set(h,'Parent',t);
Error using matlab.graphics.chart.decoration.ConstantLine/setParentImpl
Parent must be a Cartesian axes.
set(t,'Matrix',makehgtform('zrotate',-theta*pi/180));
axis([-10 10 -10 10])

Accepted Answer

Paras Gupta
Paras Gupta on 1 May 2024
Hey Paul,
The parent of the 'ConstantLine' should be an 'axes' object, as specified in the the following documentation under 'Parent/Child' property for MATLAB R2024a.
Since the following code snippet returns false, the error in the question seems to be expected as the 'hgtransform' object is not a Cartesian Axes object.
t = hgtransform('Parent',gca);
isa(t, 'matlab.graphics.axis.Axes')
ans = logical
0
The error also seems to occur in MATLAB R2023a and R2023b. The below documentation of 'ConstantLine' for MATLAB R2022a also suggests that its parent should be an 'axes' object, so the error occuring in later releases might be the result of a bug fix.

More Answers (0)

Categories

Find more on Object Containers in Help Center and File Exchange

Products


Release

R2024a

Community Treasure Hunt

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

Start Hunting!