【问题标题】:Add point to line graph in ggplot when x axis is in Date format当x轴为日期格式时,在ggplot中添加点到折线图
【发布时间】:2022-01-23 23:51:43
【问题描述】:

我使用 ggplot 构建了一个折线图,显示公司多年来两种不同类型的货币贡献的变化。我试图在某些年份在图表上添加一个红点来表示特定事件。由于我的 x 轴是日期格式,我正在努力使用 geom_point 添加点。

我的数据如下所示:

money1       money2       year
6000         8000         2011-01-01
7000         1400         2012-01-01
4500         3000         2013-01-01
9000         5000         2014-01-01

我用于创建日期格式的代码是 data$year<-lubridate::ymd(data$year, truncated = 2L),因为日期最初显示为年份(例如 2011、2012、2013 等)。

为了创建我的图表,我使用了:

data %>% 
  filter(company=="minsur") %>% 
  ggplot(aes(x=year))+
  geom_line(aes(y=money1, color="Money1"))+
  geom_line(aes(y=money2, color="Money2")) 

我想在 2012 年期间在图表中添加一个红点(现在它落在 y 轴上的位置并不重要)。

我试过了:

data %>% 
  filter(company=="minsur") %>% 
  ggplot(aes(x=year))+
  geom_line(aes(y=money1, color="Money1"))+
  geom_line(aes(y=money2, color="Money2")) 
  geom_point(aes(x="2012-01-01", y=3000),size = 1,colour = "Red")

但我收到此错误:错误:提供给连续刻度的离散值

我尝试了许多其他技术,但还没有让它运行而不会出现某种错误。有谁知道如何格式化 geom_point 以使用我的日期 x 轴?

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    当你有“2012-01-1”时,R 会考虑这个字符数据。你需要安排一个日期。

    geom_point(aes(x = as.Date("2012-01-01"), y=3000), size = 1, colour = "Red")
    

    【讨论】:

      猜你喜欢
      • 2014-06-11
      • 1970-01-01
      • 1970-01-01
      • 2019-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-29
      相关资源
      最近更新 更多