楼主: 599133372
5828 5

[问答] ggplot2 geom_bar()绘制条形图问题 [推广有奖]

  • 3关注
  • 1粉丝

已卖:1326份资源

讲师

55%

还不是VIP/贵宾

-

威望
0
论坛币
17246 个
通用积分
103.2924
学术水平
5 点
热心指数
5 点
信用等级
5 点
经验
15703 点
帖子
78
精华
0
在线时间
997 小时
注册时间
2014-8-24
最后登录
2025-12-11

楼主
599133372 发表于 2016-11-1 22:30:48 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
  1. a<-c("英国","韩国")
  2. b<-c(100,50)
  3. c<-data.frame(a,b)
  4. ggplot(c,aes(a,b))+geom_bar(position = "dodge",stat = "identity")
  5. barplot(c$b)
复制代码

ggplot(c,aes(a,b))+geom_bar(position = "dodge",stat = "identity")得到的图形如下:
1.png
韩国在前面,英国在后面,这与我的数据框c中数据的顺序并不符合。
barplot(c$b)得到的图形如下:
2.png
这与我的数据框c中数据的顺序是符合的。

我的问题是:如何也能让geom_bar()绘制条形图时按照我所给的数据的顺序绘制条形图
二维码

扫码加我 拉你入群

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

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

关键词:ggplot2 gplot plot bar EOM 柱状图

沙发
johnmy 发表于 2016-11-2 04:42:23
  1. ggplot(c,aes(a,b))+geom_bar(position = "dodge",stat = "identity")+
  2.   scale_x_discrete(limits=c("英国","韩国"))
复制代码

藤椅
johnmy 发表于 2016-11-2 04:43:08
  1. ggplot(c,aes(a,b))+geom_bar(position = "dodge",stat = "identity")+
  2.   scale_x_discrete(limits=a)
复制代码

好象也可以

板凳
599133372 发表于 2016-11-2 09:37:42
johnmy 发表于 2016-11-2 04:43
好象也可以
谢谢你的回答,确实有用,但
  1. scale_x_discrete(limits=a)
复制代码
最好改为
  1. scale_x_discrete(limits=c$a)
复制代码
否则当变量a单独赋新值且数据框c不变时,结果仍按照a的顺序

报纸
599133372 发表于 2016-11-2 09:38:16
johnmy 发表于 2016-11-2 04:42
谢谢回答

地板
johnmy 发表于 2016-11-2 15:54:05
哪个都行,知道原理就可以了,上面那个最好,代码直观

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

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