楼主: grit1990
28986 2

[问答] R语言 菜鸟紧急求助:ggplot2画图,如何让纵坐标按照规定的顺序显示?谢谢! [推广有奖]

  • 1关注
  • 0粉丝

大专生

60%

还不是VIP/贵宾

-

威望
0
论坛币
8 个
通用积分
0.0600
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
458 点
帖子
32
精华
0
在线时间
68 小时
注册时间
2014-5-16
最后登录
2021-11-16

楼主
grit1990 发表于 2015-3-5 16:10:18 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

因为文章需要,通宵达旦好几天才学会了R语言的一点皮毛。现在遇到一个非常棘手的问题:

图像中纵坐标并能没有按照我规定的顺序显示 (顺序为"Hypertension(+)","Hypertension(-)","obesity(+)","obesity(-)", "Dyslipidemia(+)","Dyslipidemia(-)","central obesity(+)","central obesity(-)")图在附件中

请问如何解决?{:3_61:}


静候大神详细解答! 谢谢![em23][em23][em23]


我的代码:

library(ggplot2)

OR<-c(.508,.734, .654, .626, .610, .694, .567, .214)

lower<-c(.340, .587, .308, .447, .475,.386, .348, .031)

upper<-c(.759,.919, 1.392, .877, .784, 1.248, .925, 1.478)

type<-c(1,1)

odds<-data.frame(OR, lower, upper,type)

vars<-c("Hypertension(+)","Hypertension(-)","obesity(+)","obesity(-)","Dyslipidemia(+)","Dyslipidemia(-)","centralobesity(+)","central obesity(-)")

ticks<-c(seq(.1,1, by =.1), seq(0, 10, by =1), seq(10, 100, by =10))

a1<-ggplot(odds, aes(y= OR, x =reorder(vars, OR))) +scale_y_log10()

a2<-a1+geom_point(size=3)

a3<-a2+geom_errorbar(aes(ymin=lower,ymax=upper), width=.05)

a4<-a3

a5<-a3+geom_hline(yintercept = 1,linetype=2)

a6<-a5+coord_flip()+ facet_wrap(~type,nrow=2)

a7<-a6+labs(title = "", x ="", y = "Odds ratio for DM")

a8<-a7+theme_bw()

a8



二维码

扫码加我 拉你入群

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

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

关键词:ggplot2 gplot plot 紧急求助 急求助 library central 如何

Rplot01.jpeg (45.42 KB)

Rplot01.jpeg

沙发
gaoyun2879 发表于 2015-3-6 08:50:24
问题就出在这啊aes(y= OR, x =reorder(vars, OR)),你这样就是让vars的显示顺序按OR值排序,不是你想要的吧。试试直接aes(y= OR, x =vars)会不会按你的var默认顺序显示。

藤椅
grit1990 发表于 2015-3-8 22:27:05
gaoyun2879 发表于 2015-3-6 08:50
问题就出在这啊aes(y= OR, x =reorder(vars, OR)),你这样就是让vars的显示顺序按OR值排序,不是你想要的吧 ...
果然是这样的  太感谢!  [em23]

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-10 13:13