2017-03-07 92 views
0

我在Matlab中有以下代码,它工作正常,但我无法将图形的颜色更改为灰色matlab条形图:灰色

y=[0.3435 0.35 0.3798 0.58 0.6491 0.6612]; 
bar(y); 
Labels={'A',' B', '  C',' D', ' E',' F'}; 
set(gca, 'XTick', 1:4, 'XTickLabel', []); 
set(gca,'fontsize',10); 
ylabel('F-measure','FontSize',10) 
axis([0 7 0 1]) 
text(0.6:numel(y), -.04*ones(1,numel(y)), Labels, 'interpreter', 'TeX', 'Fontsize', 9) 

我试过FaceColor功能,但它没有奏效! 任何帮助是高度赞赏。

+0

您可以扩展一点关于您如何尝试FaceColor属性,以及“它没有工作”是什么意思,因为它给了你一个错误,或者改变了一个错误的颜色,或者什么也没做但没有显示错误等等。 –

+0

bar(y,'FaceColor','gray'); –

+1

'gray'在matlab中不是有效的颜色定义。你应该使用像'[0.75 0.75 0.75]'这样的RGB三元组。有关颜色检查的更多信息,请访问https://www.mathworks.com/help/matlab/ref/colorspec.html –

回答

1

从评论我看到,您正在使用不正确的FaceColor属性。

你说你试过

bar(y,'FaceColor', 'grey'); 

这样做的问题是,'grey'不是在Matlab有效的颜色定义。

定义颜色,RGB三元组,短名称和长名称有3种方法。短名和长名非常有限,只有8种颜色预定义。白色,黑色,红色,绿色,蓝色,青色,品红色和黄色。对于任何其他颜色,您需要将其定义为RGB三元组,它是从0到1的三个元素的向量,表示每个通道的强度。

在你的情况灰色的是,有三个通道相同的强度最大的颜色,因此,这应该为你工作:

bar(y,'FaceColor', [0.75 0.75 0.75]); 

如果您还有其他疑问,请检查颜色https://www.mathworks.com/help/matlab/ref/colorspec.html

MATLAB文档