ggplot2轴,持续时间为对数刻度

安德鲁·约翰·洛

我有特定事件类型的持续时间,以秒为单位(整数)。一些持续时间为几天,一些持续时间为数小时,更多持续时间为数分钟,但必须持续数秒。我想对这些数据进行直方图绘制,并且鉴于大多数值很小,我希望x轴在log10刻度上。

我知道如何将x轴标签格式化为10的幂,例如:10 ^ 1、10 ^ 2、10 ^ 3等。这不是我想要的!例如,10 ^ 5秒不容易理解,因此以小时或天为单位表示此值会更有意义。

我要的是带标签的轴,看起来事情是这样的:

1秒,10秒,1分钟,10分钟,1小时,10小时,1天,1周,1个月,1年...等

(如果持续时间少于1秒,则奖励点数以ms,μs,ns表示,而非常长的持续时间则以ka,Gy等表示。)

尼古拉斯·罗斯威克(Nicolas Rosewick)

将scale_x_log10()与ggplot2中的breaks和labels参数一起使用

df <- data.frame(time=c(1,10,100,10000),value=c(5,10,50,20))
ggplot(df,aes(x=time,y=value))+
    geom_point()+
    scale_x_log10(breaks=c(1,60,3600),labels=c("1sec","1min","1hour"))

因此,中断将是秒数,并将秒的转换标记为更易读的内容(在此示例中为1sec,1min和1hour)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章