【问题标题】:Creating a legend for a gantt chart with ggplot2使用 ggplot2 为甘特图创建图例
【发布时间】:2018-04-10 03:23:05
【问题描述】:

好的,我正在尝试做一些简单的事情,但似乎无法完成。我想为图表上的点制作一个图例,但是,无论我做什么,我似乎都无法让它发挥作用。如果您能帮我为 ggplot 中创建的点和线制作一个图例,我将不胜感激!形状 15 点应该是“进入市场”,形状 19 应该是“退出市场”。

table1 <- as.data.frame(matrix(c(
"Drug1",      "Filing", "2020-04-12",
"Drug2",      "Filing", "2020-05-12",
"Drug3",      "Filing", "2020-04-23",
"Drug4",      "Filing", "2020-01-27",
"Drug5",      "Filing", "2020-02-02",
"Drug1",      "Approval", "2021-04-12",
"Drug2",      "Approval", "2021-06-12",
"Drug3",      "Approval", "2021-07-23",
"Drug4",      "Approval", "2021-04-27",
"Drug5",      "Approval", "2021-03-02"),byrow = TRUE,ncol=3,nrow=10))
colnames(table1) <- c("Name", "variable", "value")
table1$value <- as.Date(table1$value)

ggplot(table1 , aes(as.Date(value, "%m/%d/%Y"), Name))+ 
  geom_point(data= table1 [table1 $variable=="Filing",], aes(as.Date(value, "%m/%d/%Y"), Name), shape=15, size = 3.5)+
  geom_point(data= table1 [table1 $variable=="Approval",], aes(as.Date(value, "%m/%d/%Y"), Name), shape=19, size = 3.5)+
  geom_line(data=(table1 [table1 $variable=="Filing" |  table1 $variable=="Approval",]), aes(as.Date(value, "%m/%d/%Y"), Name), linetype="solid", size=1)

【问题讨论】:

    标签: r ggplot2 legend graphing


    【解决方案1】:

    这是我自己想出来的!

    table1 <- as.data.frame(matrix(c(
    "Drug1",      "Filing", "2020-04-12",
    "Drug2",      "Filing", "2020-05-12",
    "Drug3",      "Filing", "2020-04-23",
    "Drug4",      "Filing", "2020-01-27",
    "Drug5",      "Filing", "2020-02-02",
    "Drug1",      "Approval", "2021-04-12",
    "Drug2",      "Approval", "2021-06-12",
    "Drug3",      "Approval", "2021-07-23",
    "Drug4",      "Approval", "2021-04-27",
    "Drug5",      "Approval", "2021-03-02"),byrow = TRUE,ncol=3,nrow=10))
    colnames(table1) <- c("Name", "variable", "value")
    table1$value <-as.Date(table1$value)
    
    shapes  <- c("s1" = 15, "s2" = 19)
    
    ggplot(table1 , aes(as.Date(value, "%m/%d/%Y"), Name))+ 
      geom_point(data= table1 [table1 $variable=="Filing",], aes(as.Date(value, "%m/%d/%Y"), Name,   shape = "s1"),size=3)+
      geom_point(data= table1 [table1 $variable=="Approval",], aes(as.Date(value, "%m/%d/%Y"), Name,   shape = "s2"),size=3)+
      geom_line(data=(table1 [table1 $variable=="Filing" |  table1 $variable=="Approval",]), aes(as.Date(value, "%m/%d/%Y"), Name), linetype="solid", size=1)+
      scale_shape_manual(breaks = c("s1", "s2"),values=c("s1" = 15, "s2" = 19),labels = c("Filing Date", "Approval Date"))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-06
      • 2020-11-09
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      • 2016-09-26
      • 2016-11-02
      • 1970-01-01
      相关资源
      最近更新 更多