[R] Plot 2 different time series data with 2 y axes
Enrico Schumann
es at enricoschumann.net
Mon Jun 3 08:56:10 CEST 2013
On Sun, 02 Jun 2013, Piyush Kumar <kuma0177 at gmail.com> writes:
> Hello
>
> I am new to R and I have been trying to plot 2 different time series with 2
> y axes. I have been able to plot it so far with 2 y axis but the x axis is
> not shifted. I mean, the x range for data1 from day1 and xrange for data2
> is from day2, however my plot overlaps the 2 x-axis. Below is the code with
> comments.
>
> Rplot_x_over_y = function( df1, df2, left_data_type, right_data_type){
>
> #df1 contains data from day1, and its in POSIX time,
> eg: [1] "2013-04-03 00:00:00 UTC" "2013-04-03 00:01:00 UTC"
> [3] "2013-04-03 00:02:00 UTC" "2013-04-03 00:03:00 UTC"
> [5] "2013-04-03 00:04:00 UTC" "2013-04-03 00:05:00 UTC"
>
> #df2 contains data from day2 and is in posix time
> [1] "2013-04-04 00:00:00 UTC" "2013-04-04 00:01:00 UTC"
> [3] "2013-04-04 00:02:00 UTC" "2013-04-04 00:03:00 UTC"
> [5] "2013-04-04 00:04:00 UTC" "2013-04-04 00:05:00 UTC"
>
> time<-df1[[1]]
> time2<-df2[[1]]
> y1<-df1[[2]]
> y2<-df2[[2]]
> xleft_limit_min = min(time)
> x_left_limit_max = max(time)
> y_left_limit_max = min(time)
> xright_limit_max = max(time2)
>
> x_range<-c(xleft_limit, xright_limit)
> print(x_range)
> par(mar=c(5,4,4,5)+.1)
> plot(time ,y1,type="l",col="red", ylab=left_data_type)
> par(new=TRUE)
> plot(time2, y2,,type="l",col="blue", xaxt="n" , yaxt="n",xlab="",ylab="")
> axis(4)
> mtext(right_data_type,side=4,line=3)
> legend("topright",col=c("red","blue"),lty=1,legend=c(left_data_type,
> right_data_type))
> grid (10,10, lty = 6, col = "cornsilk2")
> }
>
> I would expect the plots to have different starting points for x values
> but it seems its unable to understand the dates are different. A
> screenshot is attached. How can I fix it ?
>
> Thanks
> -P
>
Have a look at the zoo-FAQ in package 'zoo': if you have the package
installed, just type
vignette("zoo-faq", package = "zoo")
There you find an example how to plot two y-axis.
--
Enrico Schumann
Lucerne, Switzerland
http://enricoschumann.net
More information about the R-help
mailing list