全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2062 2
2014-05-26
我有一组数据是这样的
days     a        b        c
1         x        xx       XXX
2         xx       XXX     xx
3         xxxx    x        xx
我想以时间为x轴画出关于a,b,c的条形图
效果类似于这样
1.jpg
看了一下ggplot的帮助文档,只发现geom_bar如何定义factor,没找到在同一张图里添加多个变量的方法
求教各位大神如何解决呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-5-26 19:24:09
2种方法:
1: 用多个geom_bar,每个geom_bar 放a,b,c中的一个。但貌似只能做出stack的图形,不能做dodge的。
2: 把你的数据melt一下,变成day, "XXX"(放你的数据),factor(放变量名),然后就可以fill=factor画dodge bar 图了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-5-27 12:33:37
想随心所欲地使用ggplot2,一般需要把数据整形一个长格式的数据框,以你的数据为例就是这种格式:
days      variable     group
1         x              a
2         xx             a
3         xxxx          a
1         xx             b
2         XXX           b
3         X              b
1         XXX           c
2         xx             c
3         xx             c
对于比较复杂的数据用reshape2包整合,也就是楼上说的melt()以及其他函数
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群