绘制带圆角的ggplot2条形图

问题描述 投票:0回答:1

我使用“ggchicklet”包在 R 中生成圆角堆积条形图。但是,该包不再可用。

R 新闻页面 上写着“使用 ggforce 替换 ggchicklet,因为 ggchicklet 在 CRAN <2024-03-08, Fri> 不可用”。但是,我无法生成所需的堆积条形图。 此页面是 ggchicklet 用法的示例。

现在可以使用 ggrounded 套件,但仅用于圆化 top 角。

对于顶角和底角为圆角的钢筋,有什么建议吗?谢谢。

r ggplot2 geom-bar
1个回答
0
投票

正如此处引用的链接中所建议的,有一个使用

ggforce::geom_shape
绘制圆角条的选项,但是需要转换我使用
dplyr::reframe
的数据,即类似于
geom_polygon
geom_shape
的输入需要指定条形图四个角的坐标:

library(ggplot2)
library(ggforce)
library(dplyr, warn = FALSE)

df <- data.frame(trt = c("a", "b", "c"), outcome = c(2.3, 1.9, 3.2))

width <- .9

df <- df |>
  mutate(trt = factor(trt)) |>
  dplyr::reframe(
    data.frame(
      x = rep(as.numeric(trt) + width / 2 * c(-1, 1), each = 2),
      outcome = c(c(0, outcome), rev(c(0, outcome)))
    ),
    .by = trt
  )

ggplot(df, aes(x, outcome, fill = trt)) +
  geom_shape(radius = .05)

© www.soinside.com 2019 - 2024. All rights reserved.