matlab bar不同颜色设置,请问Matlab如何给多组bar图设置多种颜色?

博主在尝试为Matlab中的多组bar图分别设置红、绿、黑、蓝四种颜色时遇到困难。通过尝试不同的代码,如直接指定颜色和使用reshape函数结合set命令,但遇到了图形压缩、颜色无法控制以及图例不显示等问题。寻求帮助以解决bar图颜色和宽度设置的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例如

见1.jpg

a=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; bar(a);

出现的是一共4组,每一组四条bar图(每一组的最后两条因为数据很少,所以显得很低),可是都是蓝颜色。(我的问题里是分成四组数据的,这里为了举例简单)

我想每一组的四条bar图按红,绿,黑,蓝四种颜色区分排列,四组都是这样,在网上找了很久可都没有找到方法,我自己的想法是

bar(a(1,1:3:13),'r',a(1,2:3:14),'g',a(1,3:3:15),'k',a(1,4:3:16),'b');   可是不行

---------------------------------------------------------------------------------------------------

这个是一位朋友给我的建议

a=1:16; aa=reshape(a,4,4)'; h=bar(aa);

set(h(1),'FaceColor','r'); set(h(2),'FaceColor','g');

set(h(3),'FaceColor','k'); set(h(4),'FaceColor','b');

我试了一下,可是做出来的图形是被压缩了宽度 ,见test1.jpg

我自己试了两个方法

1。barwidth = 0.8;

bar(aa)

结果是没有变化,同test1.jpg

2。

aa=reshape(gesamt,4,4)'; h=bar(aa);

set(h(1),'FaceColor','r','BarWidth');

set(h(2),'FaceColor','g','BarWidth');

set(h(3),'FaceColor','k','BarWidth';

set(h(4),'FaceColor','b','BarWidth');

结果见test2.jpg,

matlab提示我set命令有错误

宽度有了变化,可是颜色是我无法控制的,

同时横坐标上的字样也不是我程序里作的,Sniffer 1, Sniffer 2,Sniffer 3,Sniffer 4

而且我在程序里还有图例的命令,legend('Data','ACK','RTS','CTS');,也没有体现

可以麻烦大家帮我看看么,谢谢了

[本帖最后由 wj326_0 于 2009-7-22 19:55 编辑]

1.jpg

(51.08 KB, 下载次数: 11)

2009-7-22 18:38 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

781fd205161f2b274b759aa299b47cb8.png

test1.jpg

(45.87 KB, 下载次数: 14)

2009-7-22 18:38 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

b0480319d37eb1fe5e95b2f7100c5f54.png

test2.jpg

(44.61 KB, 下载次数: 0)

2009-7-22 18:38 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

210e36a75ad870ddf90c2b2075729f09.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值