gpt4 book ai didi

r - 如何仅删除一些方面标签?

转载 作者:行者123 更新时间:2023-12-02 20:05:59 25 4
gpt4 key购买 nike

使用facet_wrap,是否可以仅删除一些构面标签?在下面的示例中,我希望物种标签仅出现在每行的第一列中。我知道我可以使用 labeller 功能,但不知道如何更改单个标签。

data(iris)
library(tidyr)
library(ggplot2)

dat <- iris %>%
gather(var, val, Sepal.Length:Petal.Width)

ggplot(dat) +
geom_point(aes(x = 1, y = val)) +
facet_wrap(Species~var)

enter image description here

最佳答案

它并不完美,但我发布此内容希望它仍然比没有好。

使用 as_labeller()labeller() 可能会满足您的需求。

更新

最简单的解决方案是将 Speciesvar 拆分为两个 labellers 函数。

facet_labeller_top <- function(variable, value) {
c(
"Setosa",
"",
"",
"",
"Versicolor",
"",
"",
"",
"Virginica",
"",
"",
""
)
}

facet_labeller_bottom <- function(variable, value) {
c(
"Petal.Length",
"Petal.Width",
"Sepal.Length",
"Sepal.Width",
"Petal.Length",
"Petal.Width",
"Sepal.Length",
"Sepal.Width",
"Petal.Length",
"Petal.Width",
"Sepal.Length",
"Sepal.Width"
)
}

结果:

ggplot(dat) +
geom_point(aes(x = 1, y = val)) +
facet_wrap(Species~var, labeller = labeller(Species=as_labeller(facet_labeller_top),
var = as_labeller(facet_labeller_bottom)))

enter image description here

数据示例:

library(tidyr)
library(ggplot2)

dat <- iris %>%
gather(var, val, Sepal.Length:Petal.Width)

关于r - 如何仅删除一些方面标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54178285/

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