gpt4 book ai didi

r - 使用 ggplot2 中的标签更改 facet_wrap 标签

转载 作者:行者123 更新时间:2023-12-04 08:55:16 25 4
gpt4 key购买 nike

在下面的 ggplot 中,我尝试使用 labeller(sch.id=paste0("sch.id :", unique(ten$sch.id))).

但是,绘图显示 NA 而不是正确的分面标签,我想知道如何解决?

library(ggplot2)

hsb <- read.csv('https://raw.githubusercontent.com/rnorouzian/e/master/hsb.csv')

ten <- subset(hsb, sch.id %in% unique(sch.id)[1:10])

p <- ten %>% ggplot() + aes(ses, math) + geom_point() +
facet_wrap(~sch.id) + geom_smooth(method = "lm", se = FALSE)

p + facet_wrap(~sch.id, labeller = labeller(sch.id=paste0("sch.id:", unique(ten$sch.id)))) ## HERE ##

最佳答案

问题似乎是您正在将一个变量传递给标签函数,但 facet_wrap 已经传递了它自己的分面变量。发生冲突,结果为 NA
解决方案是创建一个标签函数作为变量 x 的函数(或任何其他名称,只要它不是分面变量的名称),然后使用 as_labeller .

请注意,不需要unique,就像在facet_wrap 公式中不需要它一样。

p <- ten %>% ggplot() + aes(ses, math) + geom_point() +
geom_smooth(method = "lm", formula = y ~ x, se = FALSE)

cust_labeller <- function(x) paste0("sch.id:", x)
p + facet_wrap(~ sch.id,
labeller = as_labeller(cust_labeller)) ## HERE ##

enter image description here

关于r - 使用 ggplot2 中的标签更改 facet_wrap 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63857833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com