ggplot2 - scales:如何在limits参数中指定negate行为

时间:2015-08-04 18:28:35

标签: r ggplot2

我正在limits范围内使用scale_x_discrete。现在,我很熟悉通过limits参数以正常方式指定您要采用的因素:例如limit = c("x", "y")

但如果我有很多因素,并且想要否定说"x",我似乎无法找到正确的语法(如果这是可能的话)。我尝试了scale_x_discrete(limits = -c("x"))和其他变体,但它们都产生了错误。什么是正确的语法?

1 个答案:

答案 0 :(得分:1)

如果你真的想在limits参数中这样做,你可以这样做:

limits = setdiff(levels(your_data$your_x_variable), c("x", "other_level_to_omit"))

但我认为最自然的方法是在绘图之前对数据进行子集化。

ggplot(your_data[your_data$your_x != "x", ], ...)

(或使用subsetdplyr::filter或您喜欢的任何习语