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:-
legend broken image
Thanks in advance.

2 Comments

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.
Thanks for looking into Sreeram. I am using r2024a version and your assumption regarding stairs is correct. Apologies for missing them in the question itself.

Sign in to comment.

 Accepted Answer

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

Thank you for the help, appreciate it.
Can a
drawnow;
be used to force object update instead of a pause?
Hi @DGM, I tried it but I see that the momantary displaying of the "bar" histogram is noticable when using "drawnow" instead of "pause(0.01)". Seems like "pause(0.01)" suits better in this case.
Hm. I guess that's a good point.
I'm running R2019b, so I couldn't really test the problem.

Sign in to comment.

More Answers (0)

Products

Release

R2024a

Asked:

on 14 Oct 2024

Commented:

DGM
on 15 Oct 2024

Community Treasure Hunt

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

Start Hunting!