MATLAB Answers

How to set color of scatterplot bars?

11 views (last 30 days)
z8080
z8080 on 22 May 2018
Commented: Sandro Lecci on 22 May 2018
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?

  0 Comments

Sign in to comment.

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)

Sign in to answer this question.

Tags

Products


Release

R2016a