matlab中绘制柱状图时用bar(Y,’stack‘)是怎么改各部分颜色?

2024-12-19 19:54:45
推荐回答(4个)
回答1:

1、打开matlab,新建一个脚本m文件,绘制出一个柱状图。

2、运行m文件之后,可以看到默认图形背景颜色为白色。

3、通过“backColor = [0.1 0.8 0.2];set(gca, 'color', backColor);”设置图形背景颜色,其中[0.1 0.8 0.2]是RGB颜色值,全部在0-1之间。

4、运行脚本,可以看到图形背景颜色设置为绿色了,设置为其它颜色可以更改RGB值。

5、也可以查看一下matlab中RGB颜色对照表,详细的可以百度搜索,这里是一些常用颜色RGB值。

6、将RGB设置为[1 0 0],运行脚本之后,可以看到背景颜色变成红色。

回答2:

不知道楼上写的些什么代码(竟然还那么多赞),反正我运行了没啥效果。不知道写评论的发之前有没有自己测试过还是过于自信?

其实很多设置语句可以通过先手动调整然后右键显示代码就可以自己摸索出来

设置完以后右键显示代码

clc;clear;close
alltyp=[1 1 1; 2 2 2;3 3 3;4 4 4]
b=bar(alltyp(:,1:3),'stack');
set(b(1),'FaceColor',[0 0.4 0])
set(b(2),'Facecolor',[1 1 1])
set(b(3),'Facecolor',[0 0 0])
axis([0,5,0,15])
set(gca,'xtick',[1 2 3 4]);    
set(gca,'xticklabel',{'a','b','c','d'}); 
legend('down','mid','up')

回答3:

b=bar(...);

set(b,'facecolor',[x y z]);% x y z 设置不同的值为不同颜色 如黑色[0 0 0]


that's all, no 3qu.

回答4:

如下:
function mybar
y=[1 2;3 4; 5 6];
b=bar(y);
ch = get(b,'children');
set(ch{1},'facecolor',[0 0 0])
set(ch{2},'facecolor',[1 1 1])
legend([ch{1} ch{2}],'AA','BB');
xlabel('XXXXX');
ylabel('YYYYY');
set(gca,'XTickLabel',{'30%','45%','60%'})
end