通常,在绘图中,Y轴值标签会在最大绘图值以下截断。
For example:
library(tidyverse)
mtcars %>% ggplot(aes(x=mpg, y = hp))+geom_point()
我知道scale_y_continuous--但是我想不出一个聪明的方法来做这件事。也许我只是想得太多了。我不想把自动生成的“聪明”休息搞砸。
我可能会尝试手动操作...
mtcars %>% ggplot(aes(x=mpg, y=hp, color=as.factor(carb)))+geom_point() + scale_y_continuous(limits = c(0,375))
但是由于“智能中断”的原因,这并不像我上面提到的那样工作。我是否可以将默认中断间隔再延长1,这样在本例中它将是400?当然,我希望这对于我正在使用的任何数据集都是灵活的。
4条答案
按热度按时间8hhllhi21#
您可以使用
expand_limits()
来增加最大y轴值。您还可以确保最大y轴值上舍入到数据刻度上的下一个最大值,例如,下一个最大十位数值、下一个最大百位数值等,具体取决于数据中的最大值是否在十位数、百位数等范围内。例如,下面的函数求出最大y值的以10为底的对数,并将其向下舍入。这给出了最大y值的以10为底的刻度(例如,十、百、千等)。然后,它将最大y轴值向上舍入到最接近的十、百等,即大于最大y值。
或者,为了简化操作,您可以设置函数,以便直接从图中采集y范围数据:
798qvoo82#
可以使用
ceiling()
函数选择断开y轴的步长对于p2,步长为50,而对于p3,步长为100
wvt8vs2t3#
这里的解决方案,允许任何类型的数字规模:
oxosxuxt4#
答案非常简单,只需为
NA
设置一个限制: