有一个示例here,但我无法使其正常工作。这是我的用例:
df <- as.data.frame(matrix(runif(9),8,8))
angles <- c(0.112, 2.633, 3.766, 5.687, 0.867, 7.978, 8.937, 4.652)
df$factor <- as.factor(angles)
df.m <- melt(df)
ggplot(df.m, aes(variable, value)) +
geom_boxplot() +
facet_wrap(~factor)
现在我想用度数符号显示圆角。所以我尝试了这个
new.labs <- as_labeller(paste(round(as.numeric(angles)), "degree"), label_parsed)
ggplot(df.m, aes(variable, value)) +
geom_boxplot() +
facet_wrap(~factor, labeller=new.labs)
但它会产生空字符串。
答案 0 :(得分:1)
我相信as.labeller
期待一个函数或一个查找表,而不是一个变量名。
new.labs <- as_labeller(function(string) paste(round(as.numeric(string)), "*degree"), label_parsed)
ggplot(df.m, aes(variable, value)) +
geom_boxplot() +
facet_wrap(~factor, labeller = new.labs)
答案 1 :(得分:1)
不使用as.labeller,但这很简单:
df <- as.data.frame(matrix(runif(9),8,8))
angles <- c(0.112, 2.633, 3.766, 5.687, 0.867, 7.978, 8.937, 4.652)
df$factor <- as.factor(round(angles))
df.m <- melt(df)
ggplot(df.m, aes(variable, value)) +
geom_boxplot() +
facet_wrap(~factor, labeller = label_bquote(.(as.character(factor))*degree))