Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-07-22, 18:42   #1
wj326_0
初级会员
 
注册日期: 2009-04-02
年龄: 44
帖子: 1
声望力: 0
wj326_0 正向着好的方向发展
默认 请问如何给多组bar图设置多种颜色?

请问如何给多组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');,也没有体现

可以麻烦大家帮我看看么,谢谢了
上传的图像
文件类型: jpg 1.jpg (46.4 KB, 5 次查看)
文件类型: jpg test1.jpg (41.6 KB, 3 次查看)
文件类型: jpg test2.jpg (40.5 KB, 2 次查看)
wj326_0 当前离线   回复时引用此帖
旧 2010-09-19, 10:45   #2
未注册
游客
 
帖子: n/a
默认 这样设 回复: 请问如何给多组bar图设置多种颜色?

set(h(1),'FaceColor','r','BarWidth',0.8);
  回复时引用此帖
旧 2010-09-24, 20:30   #3
laosam280
高级会员
 
注册日期: 2008-11-07
住址: 湖南长沙
帖子: 233
声望力: 21
laosam280 正向着好的方向发展
默认 回复: 请问如何给多组bar图设置多种颜色?

那你为什么不放弃句柄操作,直接在图像上去操作呢?
__________________
坚持就是胜利,努力就有奇迹。
laosam280 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 18:31


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.