首页 > 解决方案 > R ggplot 在没有切割数据的情况下设置 ymax 但不设置 ymin

问题描述

我想设置 ggplot 的最大 y 值,同时保持默认的最小 y,但我需要使用coord_cartesian,因为我想放大,而不是从计算中排除任何数据。

我很惊讶我找不到这个问题的答案。有很多问题回答了如何将限制扩展到某个值只设置一个限制使用scale_._..,但我找不到任何使用coord_cartesian来设置一个限制

例如; 使用以下示例图?coord_cartesian

library(ggplot2)
p <- ggplot(mtcars, aes(disp, wt)) +
  geom_point() +
  geom_smooth()

我想要相当于

p + coord_cartesian(ylim = c(1.5, 4))

无需将 1.5 设置为最小值。

如果我可以使用scale_y_continuous我可以使用

p + scale_y_continuous(limits = c(NA, 4))

但这将有助于我平滑的所有数据限制为我不想要的小于 4 的值,并且等效p + coord_cartesian(ylim = c(NA, 4))项返回错误。

有简单的替代品吗?

我也可以根据情节的最小值数据进行计算,但如果我正在处理情节或类似情况,这可能会变得复杂。

标签: rggplot2plot

解决方案


推荐阅读