Warning creating vertical line using xline
Show older comments
I ran into a warning when using the xline function. I went all the way back to running the simple code in the MATLAB help on xline and still get the same warning. Here's the code from help:
x = linspace(0,6,100);
y = exp(x);
plot(x,y)
xline(4.5,'-',{'Acceptable','Limit'});
The following warning appears:
Warning: Error updating ConstantLine.
Too many input arguments.
Warning: Error creating or updating CompositeMarker
Error in value of property Anchor
Array is null
Warning: An error occurred while drawing the scene: Cookie 0 does not refer to a node in the scene tree
The plot appears as the one in the MATLAB help, but the label on the vertical line is not drawn:

If I try to select the vertical line with the "Edit Plot" arrow, the warning is repeated in the command window and there is no visible indication I have selected the line. However, if I have the property inspector open, it shows I have the vertical line selected. I can also see the appropriate label in the property inspector for the vertical line. If I delete the label text in the property inspector, the selection indicators appear at each end of the line and the warning is no longer repeated in the command window. If I type a new label in the property inspector, the label appears at the plot origin and a warning again appears in the command window.

Warning: Error updating ConstantLine.
Too many input arguments.
Warning: Error creating or updating CompositeMarker
Error in value of property Anchor
Array is null
Obviously, the help example should not be causing this issue. Maybe my settings or preferences are causing the problem? I've closed and reopened MATLAB a few times thinking something could have gotten in a weird state, but that did not change anything. Any ideas about what might be happening?
Edit: I tried the same xline command without the label and it works without the warning. If I add a single line label, for example,
xline(4.5,'-','Limit');
it produces the same warning and behavior as the multi-line label in the example.
When trying to debug the error, I get into the internal MATLAB .m file xyzline.m. The warning appears after executing Line 85:
hcl.Parent = parentAxes;
Edit 2: The warning that is thrown does not come from xyzline.m. It is thrown by defaulterrorcallback.m. The id is "MATLAB:handle_graphics:Canvas:RenderingException" and the msg is "An error occurred while drawing the scene: Cookie 0 does not refer to a node in the scene tree." I wonder if there is something wrong with my graphics rendering settings.
11 Comments
Muhammad Usman
on 7 Dec 2019
The xline feature was Introduced in R2018b or later, you may using some earlier version of MATLAB and due to this it's not working, that's the only reason I unterstand.
You can use "Try this Example" button to run Live Editor and may change according to your desire
Matt
on 7 Dec 2019
Walter Roberson
on 7 Dec 2019
What shows up for
which -all xline
Matt
on 7 Dec 2019
Walter Roberson
on 7 Dec 2019
It worked for me when I tried it in R2018b.
Matt
on 7 Dec 2019
Walter Roberson
on 7 Dec 2019
What is showing up for
opengl info
Matt
on 7 Dec 2019
Walter Roberson
on 7 Dec 2019
There is a graphics driver update available two years newer
Matt
on 7 Dec 2019
Walter Roberson
on 7 Dec 2019
Nothing jumps out, but I have seen people have problems with the Intel HD drivers that are more than 2 years old. It's worth trying.
Accepted Answer
More Answers (2)
Image Analyst
on 7 Dec 2019
0 votes
It worked for me. As an alternative, you might try the older line() and then use text() to place the text annotation.
Matt
on 7 Dec 2019
0 votes
Categories
Find more on Graphics Performance in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!