【问题标题】:Formatting geom_label dates格式化 geom_label 日期
【发布时间】:2016-05-27 16:43:50
【问题描述】:

有没有办法将geom_labelggplot2 中打印的日期格式化为超出其原始值?在下面的示例中,日期打印为“1910-01-01”。但是,假设我只想打印月份和日期,并将月份作为文本值。有人知道我将如何去做吗?

library(ggplot2)

df <- data.frame(
  x=1:5,
  y=runif(5,10,40),
  Date=seq(as.Date("1910/1/1"), as.Date("1914/1/1"), "years"))


ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  geom_label(aes(label=Date))

【问题讨论】:

    标签: r date ggplot2


    【解决方案1】:

    我假设您的意思是 geom_text 不是 geom_label

    您可以使用format 提取您想要的内容(完整列表请参见format.POSIXct

     ggplot(df, aes(x=x, y=y)) +
         geom_point() +
         geom_text(aes(label=format(Date, format = "%b %d")))
    

    【讨论】:

    • 不,我的意思是geom_label。我实际上使用的是ggrepel 库,所以我使用的实际geom 是geom_label_repel。答案仍然很好。
    • @boshek 如果您使用的是不同的软件包,请确保在问题中说明这一点。不然没人知道……
    • geom_labelggplot2 包的一部分。出于兴趣,我只是提供了额外的信息ggrepel。事实上,我把这个问题保持得很简洁,这样我就不必添加额外的库了。
    • @boshek 啊 - 我可能没有足够的更新版本(我没有 geom_label 作为函数)
    • 这很棒。你应该试试看。
    猜你喜欢
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    • 2014-04-10
    • 2018-03-08
    • 2017-11-14
    • 1970-01-01
    相关资源
    最近更新 更多