Histogram's legend is broken
8 views (last 30 days)
Show older comments
The legend box where line style ought to come is broken and is showing blank instead. How do I make it work? I restarted matlab and tried to disable and re-enable legends using Insert > Legend in the menu strip above the histogram, but no good. Here is the image:-
Thanks in advance.
2 Comments
Sreeram
on 14 Oct 2024
I am assuming that you are using "histogram" with DisplayStyle="stairs". However, I could not reproduce this issue in MATLAB R2024b:
histogram(randn(20,1), DisplayStyle="stairs")
legend
If you could share the reproduction steps and the MATLAB release, it will help the community to look into and guide you better.
Accepted Answer
Sreeram
on 14 Oct 2024
I was able to reproduce this issue in MATLAB R2024a and it appears like a bug to me. You may fix this by either upgrading to MATLAB R2024b or downgrading to MATLAB R2023b or before.
If it is not feasible, you may work around the issue in MATLAB R2024a itself based on these examples:
1. Change the “DisplayStyle” to “bar” momentarily:
h = histogram(randn(100,1),DisplayStyle="stairs");
legend
h.DisplayStyle = "bar";
pause(0.01) % The pause is necessary.
h.DisplayStyle = "stairs";
2. Use a hidden plot to create a custom legend:
h = histogram(randn(100,1),DisplayStyle="stairs");
hold on;
hidden = plot(NaN, "SeriesIndex", h.SeriesIndex);
legend(hidden)
hold off
I hope it helps!
4 Comments
DGM
on 15 Oct 2024
Hm. I guess that's a good point.
I'm running R2019b, so I couldn't really test the problem.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!