首页 > 解决方案 > 控制 scatterhist 条颜色

问题描述

我试图使我的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);

然而,这些条的颜色略有不同,即偏红色,[249 96 96]: 在此处输入图像描述

Scatterhist文档似乎建议条形颜色只跟随标记颜色,在这种情况下不会发生。

如何scatterhist在 MATLAB R2016a 上控制条形的颜色?

标签: matlabplotcolorshistogramscatter-plot

解决方案


发生这种情况是因为条形图具有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;

产生:

适当的颜色


推荐阅读