how to fill histogram legend markers
126 views (last 30 days)
Show older comments
hello,
I'm plotting using histograms, and when I insert legend into the plot, the rectangles are hollow.
I'd like them to be filled but couldn't find any documentation about how to do it.
is it even possible?
0 Comments
Answers (2)
KALYAN ACHARJYA
on 24 Feb 2021
Edited: KALYAN ACHARJYA
on 24 Feb 2021
I tried to reproduce the same error, I did not get it
data1=randi(10,[1,100]);
data2=randi(10,[1,100]);
histogram(data1,'FaceColor','r');
hold on;
histogram(data2,'FaceColor','b');
legend('Data1','Data2')
Can you confirm it?
3 Comments
Steven Lord
on 24 Feb 2021
The stairs DisplayStyle draws only the edges of the histogram bars, so the legend also shows only the edges. I don't believe there's a way to make it draw the filled boxes from the default DisplayStyle in the legend while using the stairs DisplayStyle in the axes.
Lior de Marcas
on 14 Aug 2021
Had a similar problem. Probabley not relevant anymore, but you can use "fake" bar chart in order to do that (unfortanatly I don't remember the first post I saw something simillar in to give the deserved credit):
% Plot some stairs histograms:
data1=randi(10,[1,100]);
data2=randi(10,[1,100]);
histogram(data1,'DisplayStyle','stairs');
hold on;
histogram(data2,'DisplayStyle','stairs');
% Get since we didn't specify colors, we use 'auto'. Get the colors from
% the axis color order
% (https://www.mathworks.com/matlabcentral/answers/221889-how-do-i-get-the-facecolor-of-a-histogram-if-set-to-auto).
% If you specified colors, use them instead
colorList = get(gca,'ColorOrder');
% Now Create bar chart with nan so it won't show:
b = bar(nan(2,2)) %2X2 to create two bar charts (2 columns in the matrix == 2 bar charts).
% The 2 rows is just so it won't create 1 chart for a vector input - there is probably a better way
set(b,{'FaceColor'},num2cell(colorList(1:2,:),2))
legend(b,{'Data1','Data2'})
0 Comments
See Also
Categories
Find more on Histograms 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!