【问题标题】:Replace pie chart color with gradient用渐变替换饼图颜色
【发布时间】:2015-12-13 18:53:33
【问题描述】:

我有这个饼图

pie(c(1,2,1),col=c("black","white","gray"))

我想保持白色和黑色原样,但想用黑白渐变来改变灰色,黑色扇区旁边的区域从黑色开始,然后逐渐变成灰色,并且然后进一步逐渐变成白色,然后到达白色扇区。所以灰色会被替换成这样的:

有什么想法可以做到这一点吗?任何建议将不胜感激。

【问题讨论】:

    标签: r plot pie-chart


    【解决方案1】:

    您可以将一个部分细分为多个部分,并为每个部分应用一种颜色,从一个比例。它需要为外圆画一条线,在 pie 调用中将其删除。

    # 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)
    

    这给了

    【讨论】:

    • 谢谢,就是这样
    【解决方案2】:

    您可以使用ggplot2 包。

    首先,重新排列您的数据:

    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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-08
      相关资源
      最近更新 更多