我正在limits
范围内使用scale_x_discrete
。现在,我很熟悉通过limits
参数以正常方式指定您要采用的因素:例如limit = c("x", "y")
但如果我有很多因素,并且想要否定说"x"
,我似乎无法找到正确的语法(如果这是可能的话)。我尝试了scale_x_discrete(limits = -c("x"))
和其他变体,但它们都产生了错误。什么是正确的语法?
答案 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", ], ...)
(或使用subset
或dplyr::filter
或您喜欢的任何习语