R 无法在ggplot中使用min()和max()设置xlim和ylim
我错过了一些关键的东西,我看不到 为什么“最小”和“最大”无法设置轴限制R 无法在ggplot中使用min()和max()设置xlim和ylim,r,ggplot2,R,Ggplot2,我错过了一些关键的东西,我看不到 为什么“最小”和“最大”无法设置轴限制 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)) +
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")
除了
aes()
内部和facet*
函数中的公式外,不能在ggplot
对象中引用列名。但是辅助功能expand\u scale
可以帮助您以更可控的方式扩展比例
例如:
# add 1 unit to the x-scale in each direction
scale_x_continuous(expand = expand_scale(add = 1))
# have the scale exactly fit the data, no padding
scale_x_continuous(expand = expand_scale(0, 0))
# extend the scale by 10% in each direction
scale_x_continuous(expand = expand_scale(mult = .1))
有关详细信息,请参见?缩放x_连续
,尤其是?扩展缩放
。也可以选择只填充每个刻度的顶部或底部,在?expand_scale
中有一些示例