R 在ggplot2轴上具有限制的标准打断

R 在ggplot2轴上具有限制的标准打断,r,ggplot2,axis-labels,R,Ggplot2,Axis Labels,我想要的非常简单,但很难实现:在ggplot2()将设置记号的位置设置记号,另外设置记号的限制。因为我要处理许多数据集,所以我希望避免自己设置刻度 require(ggplot2) ggplot(data=ChickWeight, aes(ChickWeight$Time)) geom_histogram(binwidth=1) 为了将max(ChickWeight$Time)添加到轴上,我尝试了pretty(),这超出了最大值: ggplot(data=ChickWeight, aes(Ch

我想要的非常简单,但很难实现:在
ggplot2()
将设置记号的位置设置记号,另外设置记号的限制。因为我要处理许多数据集,所以我希望避免自己设置刻度

require(ggplot2)
ggplot(data=ChickWeight, aes(ChickWeight$Time)) geom_histogram(binwidth=1)
为了将
max(ChickWeight$Time)
添加到轴上,我尝试了
pretty()
,这超出了最大值:

ggplot(data=ChickWeight, aes(ChickWeight$Time)) + geom_histogram(binwidth=1)
 + scale_x_continuous(breaks=pretty(ChickWeight$Time))
…以及
pretty_breaks()
,这使得中断更少:

require(scales)
ggplot(data=ChickWeight, aes(ChickWeight$Time)) + geom_histogram(binwidth=1)
 + scale_x_continuous(breaks=pretty_breaks(ChickWeight$Time))

但是,没有一个解决方案采用任何看起来像是最大值的论点。然而,我的最大值是一些特殊的东西,这就是为什么我想把它包括在绘图中。

一个解决方案是将
pretty()
max()
结合起来,因为
中断=
值以在最大值处设置额外的勾号。如果函数
pretty()
将产生大于最大值的值。由于子集设置,这些值将不会显示

ggplot(data=ChickWeight, aes(Time)) + geom_histogram(binwidth=1)+ 
  scale_x_continuous(breaks=c(pretty(ChickWeight$Time)[pretty(ChickWeight$Time)<max(ChickWeight$Time)],max(ChickWeight$Time)))
ggplot(数据=ChickWeight,aes(时间))+geom_直方图(binwidth=1)+

scale_x_continuous(breaks=c(pretty(ChickWeight$Time)[pretty(ChickWeight$Time)]为什么不加一条v线呢?如果不一样的话,你可以让它看起来非常类似于tic。我不知道v线也不知道tic。@MERose线
ggplot(data=ChickWeight,aes(ChickWeight$Time))几何直方图(binwidth=1)
应该是
ggplot(data=ChickWeight,aes(ChickWeight$Time))+geom_直方图(binwidth=1)
。您缺少一个
+
符号。这是第一个代码块。
pretty(ChickWeight$Time)
我在
[1]中的结果0 5 10 15 20 25
。这不是我想要的,因为它表明存在高于实际最大值的值。@MERose更新了我的答案,以确保丢弃高于最大值的值。