How to set color of scatterplot bars?

3 views (last 30 days)
I was trying to have the bars in my scatterhist plot be of the same color as the markers:
x = randn(1,20);
y = randn(1,20);
myColour = [1 0 0]; % red
scatterhist(x, y, 'Color', myColour);
mygca = get(gca,'children');
set(mygca,'markerfacecolor', myColour);
However, the bars are of a slightly different color, namely a reddish hue, [249 96 96]:
The Scatterhist documentation seems to suggest bar colors just follow the marker color, which in this case does not happen.
How can I control color of scatterhist bars, on Matlab 2016a?

Accepted Answer

Sandro Lecci
Sandro Lecci on 22 May 2018
Edited: Sandro Lecci on 22 May 2018
dear z8080,
Somehow the histograms are plotted with a FaceAlpha value of 0.6. This makes the red color looking "flatter". To restore it to the correct value type:
x = randn(1,20);
y = randn(1,20);
myColour = [1 0 0]; % red
SH = scatterhist(x, y, 'Color', myColour);
mygca = get(SH,'children');
mygca{2}.FaceAlpha = 1;
mygca{3}.FaceAlpha = 1;
set(mygca{1},'markerfacecolor', myColour);
It should do the trick you are looking for.
Best, Sandro
  2 Comments
z8080
z8080 on 22 May 2018
Many thanks Sandro, this indeed fixes it.
As a side note, any idea why the FaceAlpha defaults to a (seemingly) random 0.6 and not to 1?
Sandro Lecci
Sandro Lecci on 22 May 2018
Honestly no.. I have no idea. This was a tricky one, I didn't even see the color difference at the beginning. I'm happy I could help you with this.
Have a good day. Sandro

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2016a

Community Treasure Hunt

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

Start Hunting!