r - 无法在 ggplot 中使用 min() 和 max() 设置 xlim 和 ylim

标签 r ggplot2

我在这里遗漏了一些重要的东西并且看不到它。

为什么 min 和 max 不能用于设置轴限制?

mtcars %>%  
  select(mpg, cyl, disp, wt) %>% 
  filter(complete.cases(disp)) %>% 
  ggplot() +
  geom_point(aes(x=mpg, y=disp, colour=cyl), size=3) +
  xlim(min(mpg, na.rm=TRUE),max(mpg, na.rm=TRUE)) +
  ylim(min(disp, na.rm=TRUE),max(disp, na.rm=TRUE)) +
  scale_colour_gradient(low="red",high="green", name = "cyl")

这有效:
    mtcars %>%  
      select(mpg, cyl, disp, wt) %>% 
      filter(complete.cases(disp)) %>% 
      ggplot() +
      geom_point(aes(x=mpg, y=disp, colour=cyl), size=3) +
#      xlim(min(mpg, na.rm=TRUE),max(mpg, na.rm=TRUE)) +
#      ylim(min(disp, na.rm=TRUE),max(disp, na.rm=TRUE)) +
      scale_colour_gradient(low="red",high="green", name = "cyl")

最佳答案

ggplot 无法像 dplyr 那样访问列值。

您需要添加数据:

mtcars %>%  
  select(mpg, cyl, disp, wt) %>% 
  filter(complete.cases(disp)) %>% 
  ggplot() +
  geom_point(aes(x=mpg, y=disp, colour=cyl), size=3) +
  xlim(min(mtcars$mpg, na.rm=TRUE),max(mtcars$mpg, na.rm=TRUE)) +
  ylim(min(mtcars$disp, na.rm=TRUE),max(mtcars$disp, na.rm=TRUE)) +
  scale_colour_gradient(low="red",high="green", name = "cyl")

关于r - 无法在 ggplot 中使用 min() 和 max() 设置 xlim 和 ylim,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49866597/

相关文章:

r - 使用 gsub 添加前导 0

r - 将多维 ctab() 表转换为 LaTeX 格式

r - 将 case_when 与 mutate 和函数一起使用时出错 : getting closest number to zero with NA

r - 黄土复制 geom_smooth 的置信区间/带

r - 使用theme_bw在ggplot2中居中绘制标题

r - ggplot 中的配对段

r - 在 Highchart 中更改时区

与 R 的远程通信 - 如何从 R GUI 客户端开始访问远程服务器上的 R

r - 如何使用 ggplot2 绘制 fiddle 图?

r - 在 r 中使用 ggplot 添加点到 usmap