2017-03-07 235 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文檔