楼主: lightcatcher
2098 2

[问答] 请问这样的条形图是怎么画出来的? [推广有奖]

  • 0关注
  • 1粉丝

高中生

22%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
219 点
帖子
17
精华
0
在线时间
25 小时
注册时间
2012-2-17
最后登录
2019-4-4

楼主
lightcatcher 发表于 2014-5-26 18:21:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我有一组数据是这样的
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,没找到在同一张图里添加多个变量的方法
求教各位大神如何解决呢?
二维码

扫码加我 拉你入群

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

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

关键词:条形图 factor gplot Facto plot factor 如何

沙发
Aharach 发表于 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 图了。

藤椅
fssdlyl001 发表于 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()以及其他函数

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 11:59