我使用这个代码:
library(sjPlot)
mtcars |>
plot_frq(cyl)
我想删除括号并将百分比数字四舍五入到最接近的整数。这样我就得到了 34%,而不是 (34.4%)。我正在寻找一种直接访问 ggplot 元素的方法。
我尝试访问底层 ggplot 对象,但没有成功。
非常感谢!
我同意@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"
))