【问题标题】:Showing pie slices with different radii and angles in ggplot2 / coord_polar在 ggplot2 / coord_polar 中显示具有不同半径和角度的饼图
【发布时间】:2020-10-03 02:38:02
【问题描述】:

我正在尝试使用 ggplot2 的 polar_coord 显示两个变量,一个变量将反映在饼片的宽度(即外壳的长度)和半径中的第二个变量(即长度切片的非结皮面),这可能吗?

在下面的示例中,我希望 cat1 为半径为 1 的饼圆周的 4/20 (4+6+10),cat2 为半径为 4 的圆周的 6/20,和 cat3 为半径为 5 的圆周的 10/20。

df <- data.frame(
  x = c("cat1", "cat2", "cat3"),
  y = c(4, 6, 10),
  z = c(1, 4, 5))

我得到的最接近的是相对于彼此大小正确的切片(下面的代码),但我希望切片填满整个饼图,并且不受最多四分之一的限制馅饼的总周长。

cxc <- ggplot(df, aes(x = x,
                      y = z,
                      width = y)) + 
  geom_bar(aes(fill=x), stat="identity", color = "black")
cxc + coord_polar()

【问题讨论】:

    标签: r ggplot2 polar-coordinates


    【解决方案1】:

    这是你想要的吗?

    library(dplyr)
    
    df %>%
      mutate(xmin = cumsum(lag(y, default = 0)),
             xmax = cumsum(y)) %>%
      ggplot(aes(xmin = xmin, xmax = xmax,
                 ymin = 0, ymax = z,
                 fill = x)) +
      geom_rect(colour = "black") +
      coord_polar()
    

    【讨论】:

    • 是的,这正是我所需要的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-17
    • 2023-04-01
    • 1970-01-01
    • 2023-04-03
    • 2011-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多