如何调整 sjPlot 中的 geom_text 元素

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

我使用这个代码:

library(sjPlot)

mtcars |> 
  plot_frq(cyl)

我明白了 enter image description here

我想删除括号并将百分比数字四舍五入到最接近的整数。这样我就得到了 34%,而不是 (34.4%)。我正在寻找一种直接访问 ggplot 元素的方法。

我尝试访问底层 ggplot 对象,但没有成功。

非常感谢!

r ggplot2 sjplot
1个回答
0
投票

我同意@qdread的观点,从头开始构建情节可能会更容易。但如果您想采用 hacky 方法,那么一种选择是删除

plot_frq
添加的标签并添加您自己的标签:

library(sjPlot)
library(ggplot2)

p <- mtcars |>
  plot_frq(cyl)

p$layers[[2]]$aes_params$label <- NULL

p +
  aes(label = paste(
    .data$frq,
    scales::percent(.data$frq / sum(.data$frq), accuracy = 1),
    sep = "\n"
  ))

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