我想在人体图像上的特定位置绘制饼图。 我试图通过跟踪一些相关的帖子拼凑代码。但是我被困住了。 imX和imY指示身体上的位置,我想要饼图然后为每个税级,我想要一个饼图,其中每个切片代表一个tax_name,count_norm是比例。
以下是我的数据框架。
head(wholebody_cutLH)
tax_name tax_rank count_norm imX imY
9 Moraxellaceae NoseF_Jly2015 3.193710e-04 1.5 5.2
12 Neisseriaceae NoseF_Jly2015 1.234482e-01 1.5 5.2
18 Alcaligenaceae NoseF_Jly2015 3.399756e-05 1.5 5.2
这是我的代码。
img <- readPNG( paste(dir,"aac_human_body.png",sep=""))
g <- rasterGrob(img, width=unit(1,"npc"), height=unit(1,"npc"), interpolate = FALSE)
ggplot(wholebody_cutLH) +
annotation_custom(g, xmin=-Inf, xmax=Inf, ymin=-Inf, ymax=Inf) +
geom_bar(aes(x=imX, y=count_norm, fill=tax_name, width = 1, stat="identity")) +
coord_polar("y", start = 0)
我得到的错误是annotation_custom仅适用于笛卡尔坐标,但是我需要使用极性作为馅饼。
顺便说一下,我不必使用ggplot,但也不确定如何使用base R。