绘制日期中的双y轴(作为x轴),ggplot2 R中的开始时间(左边的y1轴)和温度(右边的y2轴)

时间:2017-04-13 18:25:32

标签: r ggplot2

我正在尝试使用ggplot2在R中制作双y轴图。我知道有几个详细的教程说明了这是如何完成的。但我想要实现的目标却略有不同。我想将x轴绘制为日期,将y轴(左)绘制为开始日期时间,将y轴(右)绘制为水温。我以前见过类似的图表,但日期很难做到。你可以在下面看到我拥有的东西和到目前为止我所做的图像。任何帮助是极大的赞赏!感谢。

    tempdata<-read.table(text="Date Trip TripStartTime TripEndTime WaterTemperature
                 11/13/16   PM  13:00   16:00   13.43333333
                 11/13/16   PM  13:00   16:00   13.43333333
                 11/13/16   PM  13:00   16:00   12.97222222
                 11/19/16   PM  13:00   16:00   12.77777778
                 11/19/16   PM  13:00   16:00   0
                 11/19/16   PM  13:00   16:00   12.58333333
                 11/19/16   PM  13:00   16:00   12.58333333
                 11/25/16   PL  6:00    18:00   0
                 11/25/16   PL  6:00    18:00   0
                 11/25/16   PL  6:00    18:00   13.67777778", header=TRUE)

    tempdata$startdatetime <- paste(tempdata$Date,tempdata$TripStartTime, sep = " ")
    tempdata$enddatetime <- paste(tempdata$Date,tempdata$TripEndTime, sep = " ")
    tempdata$starthm <- format(tempdata$TripStartTime, format = "%H:%M:%S")
    tempdata$endhm <- format(tempdata$TripEndTime, format = "%H:%M:%S")
    tempdata$WaterTemperature<- as.numeric(as.character( tempdata$WaterTemperature ))

    str(tempdata)
    View(tempdata)
    tempdata<-data.frame(tempdata)

    attach(tempdata)

    plot.new()

    library(ggplot2)
    p1<- ggplot(tempdata, aes(startdatetime, WaterTemperature)) + 
    geom_point(color="red", size=0.5)+theme(axis.title.x=element_text("Start Time"),
                             axis.text.x=element_blank(),
                             axis.ticks.x=element_blank())
    p2<- ggplot(tempdata, aes(enddatetime, WaterTemperature)) + 
    geom_point(color="blue", size=0.5)+ theme(axis.title.x=element_text("End Time"),
                              axis.text.x=element_blank(),
                              axis.ticks.x=element_blank())
    p3<-ggplot(tempdata, aes(Date, WaterTemperature)) + 
    geom_point(color="orange", size=0.5)+ theme(axis.title.x=element_text("Date"),
                              axis.text.x=element_blank(),
                              axis.ticks.x=element_blank())
    p<- multiplot(p1, p2,p3, rows=3)

enter image description here

0 个答案:

没有答案