Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2009-04-02
年龄: 44
帖子: 1
声望力: 0 ![]() |
![]()
请问如何给多组bar图设置多种颜色?
例如 a=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; bar(a); 见1.jpg 出现的是一共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,6,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 3Sniffer 4 而且我在程序里还有图例的命令,legend('Data','ACK','RTS','CTS');,也没有体现 可以麻烦大家帮我看看么,谢谢了 |
![]() |
![]() |
![]() |
#2 |
游客
帖子: n/a
|
![]()
set(h(1),'FaceColor','r','BarWidth',0.8);
|
![]() |
![]() |
#3 |
高级会员
注册日期: 2008-11-07
住址: 湖南长沙
帖子: 233
声望力: 21 ![]() |
![]()
那你为什么不放弃句柄操作,直接在图像上去操作呢?
__________________
坚持就是胜利,努力就有奇迹。 |
![]() |
![]() |