在R中绘制饼图

3
totalReads=10000
mappedReads=8000
mappedTargetReads=6000
unmappedReads=totalReads-mappedReads
offtargetmappedReads=mappedReads-mappedTargetReads
data<-c(mappedReads,unmappedReads,mappedTargetReads,offtargetmappedReads)
round(data[1]/totalReads*100)->a
round(data[2]/totalReads*100)->b
round(data[3]/mappedReads*100)->c
round(data[4]/mappedReads*100)->d
pct<-c(a,b,c,d)
labels<-c("MappedReads","UnmappedReads","On-exon","Off-exon")
labels<-paste(labels,pct)
labels<-paste(labels,"%", sep="")
pie(c(mappedReads,unmappedReads,mappedTargetReads,offtargetmappedReads),labels=labels)

这基本上是将所有四个片段独立绘制的。但是在这里,mappedTargetReadsofftargetmappedReads是针对映射读数计算的,因此,我想将mappedReads分成几个部分,并在其中表示mappedTargetReadsofftargetmappedReads

或者是否有可能在单个Rplot中并排绘制两个不同的饼图?


请注意,饼图是传输信息的一种相当低效的方式。例如,请参阅http://blog.jgc.org/2009/08/please-dont-use-pie-charts.html。 - Paul Hiemstra
1个回答

2
这将生成一个包含两个饼图的图表:
par(mfrow = c(1,2))
pie(c(mappedReads,unmappedReads),labels=labels[1:2], main = "Global")
pie(c(mappedTargetReads,offtargetmappedReads),labels=labels[3:4],
    main = "MappedReads")

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接