R防止饼图重叠

R防止饼图重叠,r,R,我的数据如下: VariantClass PASS_ONTARGET Silent 50.30 Missense 47.00 Nonsense 0.74 Startloss 0.26 Stoploss 0.74 Frameshift-indel 0.61 Inframe-indel 0.35 我生成饼图的代码是: data <- rea

我的数据如下:

 VariantClass   PASS_ONTARGET
  Silent            50.30
  Missense          47.00
  Nonsense           0.74
  Startloss          0.26
  Stoploss           0.74
  Frameshift-indel   0.61
  Inframe-indel      0.35
我生成饼图的代码是:

    data <- read.table(file=Infilename, header=T, sep="\t")
    png(filename=Outfilename,height=4000,width=5000,res=600)
    y<-data$PASS_ONTARGET
    color<-c("blue","green","light blue","orange","purple","red","yellow")
    names<-c(data$VariantClass)
    pie(y, labels=names, font=2, main="Variant Class Distribution", clockwise = FALSE, density = NULL, col = color, border = NULL, lty = NULL)
    legend("topright",legend=names,cex=1.0, bty="n", fill=c(color))
    dev.off()

data使半径变大并缩小标签

pie(<your other arguments>, radius = 1, cex = 0.3)


为了完整性,这里有帕累托图和瀑布图。打印前需要计算累积y值

dataset2%
排列(描述(变量类))%>%
变异(
累计通过目标=累计总数(累计通过目标)
)
帕累托图是条形图+累计总线。它比条形图提供更多的信息,如果你想回答诸如“我需要包括多少个最大的类别才能达到总数的90%”之类的问题,条形图很有用。(这对于主成分分析很重要,因为帕累托图很常见。)但与标准条形图相比,它会挤压条形图

ggplot(数据集2)+
地理坐标(aes(变量类,通过目标))+
几何线(aes(作为整数(变量类),同时通过目标)+
coord_flip()

瀑布图移动条以给出累计总数。这有点小众,因为它们只适用于查看累计总数:现在无法比较单个条。在这种情况下,帕累托图优于瀑布图

ggplot(数据集2)+
几何校正(
aes(
x=变量类,
xmin=as.integer(VariantClass)-0.45,
xmax=as.integer(VariantClass)+0.45,
ymin=cum_PASS_ONTARGET-PASS_ONTARGET,
ymax=目标的累计通过量
)
) + 
coord_flip()
#>警告:忽略未知美学:x

恕我直言,请不要(永远)使用饼图。他们几乎没有提供任何信息。你的数据可以通过帕累托图(有无累积线)更好地交流。但我的上级要求我只放一个饼图。即使我不喜欢饼图,但这是一个更大的项目的要求。你能帮忙吗?啊,好吧,那么,你被卡住了:-(.谢谢,但是当我减少cex时,它会收缩到不可读的值。我想做的是增加标签的刻度,将它指向不同的区域,以锁定值嗯,然后你可能需要使用
text()分别编写标签
既然您的其他组很小,为什么不将它们合并成一个“其他”组呢类别?无论如何,你都无法从饼图中准确估计每个小类别的大小。你引用的“将饼保存在甜点上”这篇文章很疯狂。在p1-3的构建中,它纠正了饼图的所有常见问题,并以p3底部所示的从部分到整体可视化的完美图形告终(包括标签和百分比!)。然后,它会在p8上做出错误的轴编号决定,并嘲笑p9上公认的令人讨厌的3D变体,从而让人从饼图中摆脱出来。饼从一部分到整体都可以立即识别。与所建议的帕累托图不同。MPGA。@RichieCotton,这是对你的后里奇的一个很好的更新,但我仍然认为t饼图更容易看到。我们想从这些数据中得出的结论是,只有沉默和错义类别才重要;其他所有类别对总量的贡献都是无关紧要的。如果将图例置于饼图扇区之上,并用组百分比替换0-25-50-75-100,则饼图将是均匀的更好。