R_Language 板


LINE

[问题叙述]: 先谢谢上周h大回覆关於如何画图的第2个x轴。之後我试着把code作延伸,改成给数据库 里的27个病人 (SUBJID) 每个人画一个图,并且在同一个页面排成3 x 9 (ncol=3, nrow=9)的多图。目前我是把ggplot2的程式用for loop给每个病人生成一个plot object ,然後以他们的SUBJID 为字根将plot object命名,例如plot.017_306, plot.017_313, plot.023_302。 我Google了几个网页及stackoverflow, 大部分多图排列是用类似以下的方法: ridExtra::grid.arrange(plot.017_306, plot.017_313, plot.023_302, ncol=3, nrow=1) 不过,因为plot objects 的数量多,我不想一个个地列出来。很有可能其他要绘图的数 据有更多的病人。 我接着用以下程式把所有 plot objects 放进一个list: # Add all plot objects to a list pattern.plot.objects <- "plot.\\d{3}_\\d{3}" plot.list <- list(ls(pattern = pattern.plot.objects)) 再想办法用这个list产生多图 : ggpubr::ggarrange(plotlist = plot.list, ncol=3, nrow=1) # In as_grob.default(plot) : # Cannot convert object of class character into a grob. cowplot::plot_grid(plotlist = plot.list, ncol=3, nrow=1) # Warning message: # In as_grob.default(plot) : # Cannot convert object of class character into a grob. gridExtra::grid.arrange(grobs= plot.list, ncol=3, nrow=1) # Error in gList(...) : only 'grobs' allowed in "gList" do.call(what = "grid.arrange", args = c(plot.list, ncol=3)) # Error in gList(...) : only 'grobs' allowed in "gList" 以上每个code都产生error, 多图也没产生。我再用error message也是没找到有用的除错 程式。 不过,我不想用的方法 gridExtra::grid.arrange(plot.017_306, plot.017_313, plot.023_302, ncol=3, nrow=1) 倒是有产生多图: https://hackmd.io/_uploads/H1s90rHD2.png
另一个问题是,我也需要把legend放进图区里面,目前是放在图区外上方,legend内容量 大的图y轴会被挤压。不知道要如何将所有 图y轴的长度变为等长? [程式范例]: 为了简化例子,我的程式只提供了3个病人的数据。程式贴在 Arrange multiple ggplot2 plots on one page 这个部分, 网址为 https://hackmd.io/@Chang/adverse-events-gantt-chart 已经会ggplot2 多图的大大,先谢谢了。 --
QR Code



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 49.182.204.157 (澳大利亚)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1686640976.A.A58.html
1F:→ luenchang: 我把list放到for loop里面,已经可以产生多图了。程式 06/13 17:17
2F:→ luenchang: 在hackmd note里已经更新。目前的问题变成美学方面的 06/13 17:17
3F:→ luenchang: ,例如如何缩减小图之间的间距。 06/13 17:17
4F:→ luenchang: 或是能将bars在y轴上的位置往底部移动 06/13 17:21
5F:推 hohiyan: 可以说明一下要把多个不同subjid的图放在一起的目的吗? 06/14 01:17
6F:→ hohiyan: 依目的的差异,用来呈现图表的方式也不同 06/14 01:18
7F:→ hohiyan: 最简单的方法:既然变项都一样,那用 facet_wrap 就可以 06/14 01:19
8F:→ hohiyan: 想要3x3的图,那就每次抓9个subjid出来跑之类的 06/14 01:20
9F:→ hohiyan: facet_warp(~ subjid, nrow=3, scale="free") 06/14 01:22
10F:→ hohiyan: 如果目的是把跑出来的图可以一次放在一个档案给别人看 06/14 01:23
11F:→ hohiyan: 那搭配 Quarto 或 RMarkdown,在排版上也会比较容易 06/14 01:24
12F:推 Gjerry: 也可以用 patchwork 来合并图 06/18 15:31







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP