How to group xlines in legend
11 views (last 30 days)
Show older comments
I'm trying to plot various vertical lines on my graph. They all represent aspects of the same feature and only need one entry in the legend. This is the code I wrote (that seemed to work a few days ago):
ax = axes
p = xline(ax, [1 2 3], "g-");
hg = hggroup;
set(p, "Parent", hg);
hg.DisplayName = "My Data";
set(get(get(hg,'Annotation'),'LegendInformation'),'IconDisplayStyle','on');
However, when I run this now I get an error
"Error using matlab.graphics.chart.decoration.ConstantLine/setParentImpl - Parent must be a Cartesian axes."
I've read that ConstantLine objects like xline() can't have a Group object as a parent, unike plot(). My code works if I use plot(), but I'm not sure how to effectivly implement vertical lines using that function.
0 Comments
Accepted Answer
Star Strider
on 18 Oct 2023
Using plot to plot the vertical lines is straightforward —
ax = axes;
% p = xline(ax, [1 2 3], "g-");
p = plot([1;1]*[1 2 3], ([1; 1; 1]*ylim).', 'g-');
hg = hggroup;
set(p, "Parent", hg);
hg.DisplayName = "My Data";
set(get(get(hg,'Annotation'),'LegendInformation'),'IconDisplayStyle','on');
.
0 Comments
More Answers (0)
See Also
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!