我有这个饼图
pie(c(1,2,1),col=c("black","white","gray"))
我想保持白色和黑色的颜色,但是想要改变黑色到白色渐变的灰色,黑色区域旁边的区域以黑色开始,然后逐渐变为灰色,然后在到达白色区域之前进一步逐渐变成白色。所以灰色会被这样的东西取代:
我有什么想法可以做到这一点?任何建议将不胜感激。
答案 0 :(得分:5)
您可以将一个部分细分为多个部分,并将一个颜色从一个比例应用到每个部分。它需要为外圆画一条线,在圆形调用中将其删除。
# Number of intervals to subdivide - increase for finer detail
n <- 41
# Generate colours
cols <- colorRampPalette(c("white", "black"))(n)
# Plot
# lty=0 removes the section lines, which also removes outer border
pie(c(1,2, rep(1/n, n)), col=c("black","white", cols) , lty=0,
labels=c(1,2, rep("", n/2), 3))
# Add in outer circle back in
# radius=0.8 used as this is the pie default
plotrix::draw.circle( 0,0, 0.8)
哪个给出了
答案 1 :(得分:1)
您可以使用x <- c(1,2,1)
labels <- c(1,2,3)
df <- data.frame(x = unlist(mapply(x = x, lab = labels, function(x, lab) rep(lab, times = x))))
包。
首先,重新排列数据:
pie <- ggplot(df, aes(x = factor(1), fill = factor(x)))
pie <- pie + geom_bar(width = 1)
pie <- pie + coord_polar(theta = "y")
pie <- pie + xlab("") + ylab("")
pie + scale_fill_grey()
然后,这是剧情的代码
{{1}}