我正在尝试在ggplot2中创建类似于径向图(plotrix)的饼图。 基本上,这些切片的长度是不同的。
radii <- c(2,3,2,1,3,1,2,3,2)
color <- c("lightgrey", "chartreuse", "lightgrey", "darkturquoise", "darkolivegreen3",
"orangered", "lightgrey", "darkseagreen1", "lightgrey")
radial.pie(radii, labels = NA, sector.colors = color,
show.grid = F, show.grid.labels = F ,show.radial.grid = T,
radial.labels = F, clockwise = T,start=3)
有没有简单的方法可以做到这一点?在ggplot中执行此操作的原因是,我希望使用plot_grid在一个ggplot小提琴图的顶部具有此饼图。
答案 0 :(得分:3)
此答案的复制人:
使用ggplot2制作极坐标图 由 Carolyn Parkinson (2015年4月10日)
http://rstudio-pubs-static.s3.amazonaws.com/72298_c1ba7f77276a4f27a0f375cadc9fac5d.html
基本上,您要做的就是使用coord_ploar()
绘制条形图,使其成为这种径向图:
require(ggplot2)
# function to compute standard error of mean
se <- function(x) sqrt(var(x)/length(x))
set.seed(9876)
DF <- data.frame(variable = as.factor(1:10),
value = sample(10, replace = TRUE))
ggplot(DF, aes(variable, value, fill = variable)) +
geom_bar(width = 1, stat = "identity", color = "white") +
geom_errorbar(aes(ymin = value - se(DF$value),
ymax = value + se(DF$value),
color = variable),
width = .2) +
scale_y_continuous(breaks = 0:nlevels(DF$variable)) +
theme_gray() +
theme(axis.ticks = element_blank(),
axis.text = element_blank(),
axis.title = element_blank(),
axis.line = element_blank()) +
coord_polar()