首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为特定的数据组织构建堆叠条形图

为特定的数据组织构建堆叠条形图
EN

Stack Overflow用户
提问于 2019-05-20 19:03:12
回答 1查看 40关注 0票数 0

我想构建一个堆叠的条形图,x轴代表基因组(或仅仅是有机体)的数量,y轴代表基因组的确切数量中出现的基因簇的数量。因为我知道这些基因来自哪些有机体,我希望每个条形图都能显示每个基因组在构建这个条形图中的影响。

我的数据示例:

代码语言:javascript
复制
df = data.frame (genomes_involed = c(1,2,2,3,3,1), number_of_genes = c(1,3,2,3,4,2), genome1_genes = c("A","B","*", "B", "A,M","*"), genome2_genes = c("*","C,B","E", "D", "N", "*"), genome3_genes = c("*","*", "L", "H", "O", "P,A"))

其中:

行是基因簇;

1)第一列显示了每个基因簇所涉及的基因组数量;

2)第二列表示聚类中的基因数量;

3)列3-5代表来自不同基因组的基因的具体名称;

"*“表示该基因组的簇中没有基因。

它或多或少有特定的组织,这就是为什么我不确定如何正确地表达它,例如在这个ggplot函数中:

代码语言:javascript
复制
ggplot(df, aes(x = factor(Time), y = Value, fill = factor(Type))) + geom_bar(stat="identity", position = "stack")

因此,我希望在x轴上获得3个条形图,表示基因组1、2或全部3个的数量;y轴表示在1个、2个或所有3个基因组中发现的簇的数量;并显示每个基因组在构建每个具体条形图中的百分比影响。

Desired output for this sample is here

EN

回答 1

Stack Overflow用户

发布于 2019-05-23 02:56:48

我有点困惑,但我认为您是在说有多个有机体,每个有机体都有基因组1、2或3。您希望在x轴上有三条线-一条用于基因组1,一条用于基因组2,一条用于基因组3-这些堆栈将显示具有基因组1的有机体中有多少具有1个基因簇,有多少具有2个基因簇,以及有多少具有3个基因簇(例如,对于其他每个基因组)?

代码语言:javascript
复制
df = data.frame (genomes_envolved = c(1,2,2,3,3,1), number_of_genes = c(1,3,2,3,3,2), genome1_genes = c("A","B","*", "B", "A,M","*"), genome2_genes = c("*","C,B","E", "D", "N", "*"), genome3_genes = c("*","*", "L", "H", "O", "P"))

df[df=="*"]<-NA #I changed asterisk to NA
df$genomes_envolved<-as.factor(df$genomes_envolved)
df$number_of_genes<-as.factor(df$number_of_genes)

ggplot(data = df, aes(x = genomes_envolved,fill=number_of_genes)) + geom_bar()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56219631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档