当某些组有多个人但另一些只有一个人时,哪种可视化数据更好的方法是什么?

很多

我正在尝试绘制属于五个亚属(组)的物种的不同基因的突变率。对于某些组,有多个物种,但对于另一些组,只有一个物种。在R中使用ggplot2的Boxplot可以正常工作,但是很难区分不同的组,尤其是只有一个物种的组。

在这种情况下,关于哪种类型的图会有什么建议吗?

这是箱线图的结果: 使用ggplot2的boxplot的png

我用来获取箱线图的代码是:

ggplot(data = df) + geom_boxplot(mapping = aes(x=dS, y = Genes, color = Subgenus))

这是我的数据(仅针对第一个基因):

df <- tibble(Subgenus =c("Adenia", "Astrophea", "Decaloba", "Decaloba", "Decaloba", "Decaloba", "Decaloba", "Decaloba", "Decaloba", "Decaloba", "Decaloba", "Decaloba", "Decaloba", "Decaloba", "Deidamiodies", "Deidamiodies", "Deidamiodies", "Deidamiodies", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Tetrapathea"), Species = c("A.mannii", "P.pittieri", "P.affinis", "P.auriculata_FG", "P.auriculata_S", "P.biflora", "P.filipes", "P.jatusachensis", "P.lutea", "P.microstipula", "P.misera", "P.rufa", "P.suberosa", "P.tenuiloba", "P.arbelaezii", "P.cirrhifolia", "P.contracta", "P.obovata", "P.actinia", "P.cincinnata", "P.edulis", "P.foetida", "P.laurifolia", "P.ligularis", "P.menispermifolia", "P.nitida", "P.oerstedii", "P.quadrangularis", "P.retipetala", "P.serratifolia", "P.serratodigitata", "P.vitifolia", "P.tetrandra"), Genes = c("atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA"), dS = c("0.2929", "0.2596", "0.3069", "0.3178", "0.3138", "0.3014", "0.3009", "0.3293", "0.292", "0.2894", "0.32", "0.3154", "0.334", "0.339", "0.28", "0.2946", "0.2841", "0.2947", "0.2959", "0.3153", "0.2939", "0.3095", "0.2988", "0.2964", "0.3177", "0.2928", "0.3145", "0.2933", "0.314", "0.3037", "0.2995", "0.2981", "0.2807"))
12b345b6b78

考虑制作热图:您可以将“基因和物种”用作列或行(受实际数据集的尺寸所施加的约束),然后用颜色和文本对dS进行双重编码。这种布局允许将物种轻松分组到亚属中。

您的数据集扩展了无意义的数据以说明要点

library(ggplot2)
library(dplyr)
df <- tibble(Subgenus =c("Adenia", "Astrophea", "Decaloba", "Decaloba", "Decaloba", "Decaloba", "Decaloba", "Decaloba", "Decaloba", "Decaloba", "Decaloba", "Decaloba", "Decaloba", "Decaloba", "Deidamiodies", "Deidamiodies", "Deidamiodies", "Deidamiodies", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Passiflora", "Tetrapathea"), Species = c("A.mannii", "P.pittieri", "P.affinis", "P.auriculata_FG", "P.auriculata_S", "P.biflora", "P.filipes", "P.jatusachensis", "P.lutea", "P.microstipula", "P.misera", "P.rufa", "P.suberosa", "P.tenuiloba", "P.arbelaezii", "P.cirrhifolia", "P.contracta", "P.obovata", "P.actinia", "P.cincinnata", "P.edulis", "P.foetida", "P.laurifolia", "P.ligularis", "P.menispermifolia", "P.nitida", "P.oerstedii", "P.quadrangularis", "P.retipetala", "P.serratifolia", "P.serratodigitata", "P.vitifolia", "P.tetrandra"), Genes = c("atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA", "atpA"), dS = c("0.2929", "0.2596", "0.3069", "0.3178", "0.3138", "0.3014", "0.3009", "0.3293", "0.292", "0.2894", "0.32", "0.3154", "0.334", "0.339", "0.28", "0.2946", "0.2841", "0.2947", "0.2959", "0.3153", "0.2939", "0.3095", "0.2988", "0.2964", "0.3177", "0.2928", "0.3145", "0.2933", "0.314", "0.3037", "0.2995", "0.2981", "0.2807"))
i <- 1
while (i < 5) { i <- i + 1; df <- rbind(df, df)}
for (x in 1:16) { df[1*x:33*x, 'Genes'] <- paste0('atpA', x)}

绘制热图,如果dS是字符,则无法进行有意义的比较

df$dS <- as.numeric(df$dS)
ggplot(data = df, aes(y = Species, x = Genes)) + 
    geom_tile(aes(fill = dS)) + 
    geom_text(aes(group = Subgenus, label = dS), size = 3) +
    facet_grid(Subgenus ~., scales = 'free') + 
    theme_bw()

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

两个人使用相同的代码,只有一个人有NullPointerException?

将人脸数据从一个人组复制到另一个人组

如何在firebase中设置锁定模式,以便只有一个人可以更改数据

一个人如何从具有相同本体的另一服务中获取数据?

为什么一个人不能在`dcast`中有多个`value.var`?

绘制两个直方图。为什么一个人不能拥有kde而另一个人却没有kde?

如何在另一个人面前拥有for循环?

是否有可用于描述一个人的可可初始化器?

简单的有线协议,一个人做什么?

一个人如何在bash中加入具有分隔数据的文件?

电子与铬:为什么一个人可以访问文件系统而另一个人不能访问文件系统?

MySQL-如何找出第二个人有什么但第一个人没有

当一个人的时间戳在另一个人的日期时间间隔之间时合并数据帧

一个人可以保存填写的PDF,而另一个人不能保存

git:如何将提交推送到另一个人的现有拉取请求?

如何设计数据库并将Phone制成与另一个人有关系的表(员工)

如何在MYSQL中提取同一个人的所有多个ID

如何从另一个人的类方法调用或引用实例属性

在一个人的source.list中添加更多存储库有什么好处?

一个人如何提取自己的Android应用程序的(私有)数据?

一个人如何才能执行git push来检查一个人是否具有对远程写权限?

一个人如何将值从私有方法返回到公共方法

Node.js Mongodb 同时来自两个不同用户的两个预订。只有一个人可以预订

如果一个参与者在不同的行中有多个条目,如何可视化数据?

一个人如何通过继承将此toString方法用于私有变量?

如何制定查询以显示一个人修读的所有课程

如何检索一个人的所有固定github存储库的列表?

一个人可以在没有Angular的情况下使用Clarity吗?

向一个人显示1行有几个选项