z80*_*080 3 matlab plot colors histogram scatter-plot
我试图使scatterhist绘图中的条与标记的颜色相同:
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);
Run Code Online (Sandbox Code Playgroud)
但是,这些条的颜色略有不同,即偏红色调[249 96 96]:

Scatterhist 文档似乎建议条形颜色仅跟随标记颜色,在这种情况下不会发生。
如何scatterhist在MATLAB R2016a上控制条形的颜色?
发生这种情况是因为这些条具有alpha(透明度)设置。
要解决此问题,请确保将'FaceAlpha'设置设置为1。例如:
x = randn(1,20);
y = randn(1,20);
myColour = [1 0 0];
hSh = scatterhist(x, y, 'Color', myColour);
hSh(1).Children.MarkerFaceColor = myColour;
hSh(2).Children.FaceAlpha = 1;
hSh(3).Children.FaceAlpha = 1;
Run Code Online (Sandbox Code Playgroud)
产生: