gpt4 book ai didi

r - ggplot2:如果对象存在则使用标签,否则选择默认值/NULL

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

我有一个 ggplot2 函数,其中包含以下命令:

sp <- sp + geom_point() + gs + scale_linetype_manual(values =
c('solid', 'longdash','dashed', 'twodash', 'dotdash', 'dotted'), labels=labls)
这是由具有不同数据集的用户使用的。如果我将对象 labls 定义为向量(例如 labls=c("cow","horse","chicken")),这当然很好用。但是,我希望它在对象不存在时引用默认标签(在这种情况下:1、2、3)。
有没有一种快速而优雅的方法来包含这个条件?我偶然发现了“ifelse”函数,但不确定如何使用它来引用我让“标签”请求的对象?
谢谢

最佳答案

使用 labels = waiver()指定您想要默认值。

library(ggplot2)

create_plot <- function(df, labels) {
if (missing(labels)) {
labels <- waiver()
}

ggplot(df, aes(Sepal.Length, Sepal.Width, linetype = Species)) +
geom_line() +
scale_linetype_manual(values = c('longdash','dashed', 'twodash'), labels = labels)
}
指定 labels
create_plot(iris, labels = c('A', 'B', 'C'))
Non-default
未指定 labels并获得默认值
create_plot(iris)
Default

关于r - ggplot2:如果对象存在则使用标签,否则选择默认值/NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64552510/

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