如何使用mm:ss ggplot轴标签

时间:2018-04-09 00:28:04

标签: r ggplot2

我正在创建一个秒与另一个变量的关系图。我希望y轴标签显示为MM:SS格式。使用scale_y_time,它显示为HH:MM:SS。

dat = data.frame(y = c(215.29,217.73,220.06,227.97,225.46,231.65,247.92,254.6,265.03,280.05,283.68),
                 x = c(21,20,19,18,17,16,15,14,13,12,11))

ggplot(data=dat, aes(x = x, y = y)) + 
    geom_line() + 
    scale_y_time()

Example plot

在链接的示例图像中,标签显示为00:04:30,我想要4:30。

1 个答案:

答案 0 :(得分:0)

你可以这样做:

ggplot(dat, aes(x, y)) + 
  geom_line() + 
  scale_y_time(labels = function(i) substring(i, 5))

但我会指出:

  • 这是不明确的,没有进一步标记例如。 4:30可能意味着4.5小时
  • 如果分钟的值可以等于或大于10(在这种情况下使用substring(i, 4
  • ,分钟的前导零值会更好