I have a plotting function that is plots a multi-panel plot, with the x-axis as a date and various y-axes. I would like to control the frequency of the X-axis labels, ticks and grid lines. However with the following code I get no annotation on the X-axis at all.
Here is a minimal data.frame Case Days Well Stream Value 1 Observed 0 P-1 Oil 1000.807785 2 Observed 31 P-1 Oil 998.378103 3 Observed 60 P-1 Oil 974.083290 4 Observed 91 P-1 Oil 972.484199 5 Observed 121 P-1 Oil 953.325810 6 Observed 152 P-1 Oil 939.349538 7 Observed 182 P-1 Oil 927.391942 8 Observed 213 P-1 Oil 915.837406 9 Observed 244 P-1 Oil 902.613395 10 Observed 274 P-1 Oil 896.191278 11 Observed 305 P-1 Oil 879.572936 12 Observed 335 P-1 Oil 873.241785 13 Observed 366 P-1 Oil 872.532526 14 Observed 397 P-1 Oil 844.608688 15 Observed 425 P-1 Oil 845.666635 16 Observed 456 P-1 Oil 832.753743 17 Observed 486 P-1 Oil 815.536647 18 Observed 517 P-1 Oil 809.317984 19 Observed 547 P-1 Oil 800.057954 20 Observed 578 P-1 Oil 786.320913 21 Observed 609 P-1 Oil 782.945092 22 Observed 639 P-1 Oil 769.241908 23 Observed 670 P-1 Oil 760.265467 24 Observed 700 P-1 Oil 749.068712 25 Observed 731 P-1 Oil 735.676912 26 Observed 762 P-1 Oil 733.704963 27 Observed 790 P-1 Oil 719.816182 28 Observed 821 P-1 Oil 719.418231 29 Observed 851 P-1 Oil 706.352434 30 Observed 882 P-1 Oil 695.619862 31 Observed 912 P-1 Oil 685.927100 32 Observed 943 P-1 Oil 681.596321 33 Observed 974 P-1 Oil 678.068159 241 Case 1 0 P-1 Oil 607.119101 242 Case 1 31 P-1 Oil 605.645185 243 Case 1 60 P-1 Oil 590.907245 244 Case 1 91 P-1 Oil 589.937191 245 Case 1 121 P-1 Oil 578.315155 246 Case 1 152 P-1 Oil 569.836742 247 Case 1 182 P-1 Oil 562.582916 248 Case 1 213 P-1 Oil 555.573599 249 Case 1 244 P-1 Oil 547.551529 250 Case 1 274 P-1 Oil 543.655686 251 Case 1 305 P-1 Oil 533.574517 252 Case 1 335 P-1 Oil 529.733857 253 Case 1 366 P-1 Oil 529.303599 254 Case 1 397 P-1 Oil 512.364188 255 Case 1 425 P-1 Oil 513.005969 256 Case 1 456 P-1 Oil 505.172633 257 Case 1 486 P-1 Oil 494.728242 258 Case 1 517 P-1 Oil 490.955820 259 Case 1 547 P-1 Oil 485.338417 260 Case 1 578 P-1 Oil 477.005129 261 Case 1 609 P-1 Oil 474.957258 262 Case 1 639 P-1 Oil 466.644507 263 Case 1 670 P-1 Oil 461.199138 264 Case 1 700 P-1 Oil 454.406860 265 Case 1 731 P-1 Oil 446.283005 266 Case 1 762 P-1 Oil 445.086764 267 Case 1 790 P-1 Oil 436.661425 268 Case 1 821 P-1 Oil 436.420016 269 Case 1 851 P-1 Oil 428.493924 270 Case 1 882 P-1 Oil 421.983234 271 Case 1 912 P-1 Oil 416.103322 272 Case 1 943 P-1 Oil 413.476146 273 Case 1 974 P-1 Oil 411.335860 481 Case 2 0 P-1 Oil 527.609448 482 Case 2 31 P-1 Oil 526.328560 483 Case 2 60 P-1 Oil 513.520733 484 Case 2 91 P-1 Oil 512.677718 485 Case 2 121 P-1 Oil 502.577730 486 Case 2 152 P-1 Oil 495.209669 487 Case 2 182 P-1 Oil 488.905820 488 Case 2 213 P-1 Oil 482.814458 489 Case 2 244 P-1 Oil 475.842977 490 Case 2 274 P-1 Oil 472.457342 491 Case 2 305 P-1 Oil 463.696424 492 Case 2 335 P-1 Oil 460.358745 493 Case 2 366 P-1 Oil 459.984836 494 Case 2 397 P-1 Oil 445.263847 495 Case 2 425 P-1 Oil 445.821579 496 Case 2 456 P-1 Oil 439.014114 497 Case 2 486 P-1 Oil 429.937543 498 Case 2 517 P-1 Oil 426.659166 499 Case 2 547 P-1 Oil 421.777430 500 Case 2 578 P-1 Oil 414.535488 501 Case 2 609 P-1 Oil 412.755810 502 Case 2 639 P-1 Oil 405.531716 503 Case 2 670 P-1 Oil 400.799484 504 Case 2 700 P-1 Oil 394.896738 505 Case 2 731 P-1 Oil 387.836801 506 Case 2 762 P-1 Oil 386.797222 507 Case 2 790 P-1 Oil 379.475284 508 Case 2 821 P-1 Oil 379.265491 509 Case 2 851 P-1 Oil 372.377417 510 Case 2 882 P-1 Oil 366.719381 511 Case 2 912 P-1 Oil 361.609516 512 Case 2 943 P-1 Oil 359.326400 513 Case 2 974 P-1 Oil 357.466411 2401 Observed 0 P-1 Water 0.000000 2402 Observed 31 P-1 Water 0.000000 2403 Observed 60 P-1 Water 0.000000 2404 Observed 91 P-1 Water 0.000000 2405 Observed 121 P-1 Water 0.000000 2406 Observed 152 P-1 Water 0.000000 2407 Observed 182 P-1 Water 0.000000 2408 Observed 213 P-1 Water 0.000000 2409 Observed 244 P-1 Water 0.000000 2410 Observed 274 P-1 Water 17.552503 2411 Observed 305 P-1 Water 36.738416 2412 Observed 335 P-1 Water 54.021215 2413 Observed 366 P-1 Water 66.311462 2414 Observed 397 P-1 Water 88.733529 2415 Observed 425 P-1 Water 101.520756 2416 Observed 456 P-1 Water 112.487415 2417 Observed 486 P-1 Water 127.618004 2418 Observed 517 P-1 Water 131.975539 2419 Observed 547 P-1 Water 163.789654 2420 Observed 578 P-1 Water 184.113855 2421 Observed 609 P-1 Water 188.285539 2422 Observed 639 P-1 Water 201.018004 2423 Observed 670 P-1 Water 205.401133 2424 Observed 700 P-1 Water 221.661059 2425 Observed 731 P-1 Water 242.460137 2426 Observed 762 P-1 Water 237.244107 2427 Observed 790 P-1 Water 254.144911 2428 Observed 821 P-1 Water 273.470766 2429 Observed 851 P-1 Water 273.679008 2430 Observed 882 P-1 Water 269.876483 2431 Observed 912 P-1 Water 305.409405 2432 Observed 943 P-1 Water 332.370923 2433 Observed 974 P-1 Water 337.689196 2641 Case 1 0 P-1 Water 0.000000 2642 Case 1 31 P-1 Water 0.000000 2643 Case 1 60 P-1 Water 0.000000 2644 Case 1 91 P-1 Water 0.000000 2645 Case 1 121 P-1 Water 0.000000 2646 Case 1 152 P-1 Water 0.000000 2647 Case 1 182 P-1 Water 0.000000 2648 Case 1 213 P-1 Water 0.000000 2649 Case 1 244 P-1 Water 0.000000 2650 Case 1 274 P-1 Water 9.921527 2651 Case 1 305 P-1 Water 20.766337 2652 Case 1 335 P-1 Water 30.535415 2653 Case 1 366 P-1 Water 37.482459 2654 Case 1 397 P-1 Water 50.156500 2655 Case 1 425 P-1 Water 57.384462 2656 Case 1 456 P-1 Water 63.583350 2657 Case 1 486 P-1 Water 72.135894 2658 Case 1 517 P-1 Water 74.598985 2659 Case 1 547 P-1 Water 92.581868 2660 Case 1 578 P-1 Water 104.070093 2661 Case 1 609 P-1 Water 106.428132 2662 Case 1 639 P-1 Water 113.625139 2663 Case 1 670 P-1 Water 116.102697 2664 Case 1 700 P-1 Water 125.293597 2665 Case 1 731 P-1 Water 137.050246 2666 Case 1 762 P-1 Water 134.101893 2667 Case 1 790 P-1 Water 143.655048 2668 Case 1 821 P-1 Water 154.578959 2669 Case 1 851 P-1 Water 154.696668 2670 Case 1 882 P-1 Water 152.547296 2671 Case 1 912 P-1 Water 172.632230 2672 Case 1 943 P-1 Water 187.872189 2673 Case 1 974 P-1 Water 190.878336 2881 Case 2 0 P-1 Water 0.000000 2882 Case 2 31 P-1 Water 0.000000 2883 Case 2 60 P-1 Water 0.000000 2884 Case 2 91 P-1 Water 0.000000 2885 Case 2 121 P-1 Water 0.000000 2886 Case 2 152 P-1 Water 0.000000 2887 Case 2 182 P-1 Water 0.000000 2888 Case 2 213 P-1 Water 0.000000 2889 Case 2 244 P-1 Water 0.000000 2890 Case 2 274 P-1 Water 8.946559 2891 Case 2 305 P-1 Water 18.725672 2892 Case 2 335 P-1 Water 27.534763 2893 Case 2 366 P-1 Water 33.799135 2894 Case 2 397 P-1 Water 45.227725 2895 Case 2 425 P-1 Water 51.745410 2896 Case 2 456 P-1 Water 57.335146 2897 Case 2 486 P-1 Water 65.047249 2898 Case 2 517 P-1 Water 67.268297 2899 Case 2 547 P-1 Water 83.484039 2900 Case 2 578 P-1 Water 93.843341 2901 Case 2 609 P-1 Water 95.969660 2902 Case 2 639 P-1 Water 102.459432 2903 Case 2 670 P-1 Water 104.693525 2904 Case 2 700 P-1 Water 112.981254 2905 Case 2 731 P-1 Water 123.582602 2906 Case 2 762 P-1 Water 120.923977 2907 Case 2 790 P-1 Water 129.538364 2908 Case 2 821 P-1 Water 139.388805 2909 Case 2 851 P-1 Water 139.494947 2910 Case 2 882 P-1 Water 137.556790 2911 Case 2 912 P-1 Water 155.668018 2912 Case 2 943 P-1 Water 169.410378 2913 Case 2 974 P-1 Water 172.121117 And here is the code that I am using simPlot<-function(theData, theWell, start="2000-01-01", obs="Observed", streams, order=(1:nStreams), heights=1, headings=streams, xby="years", ...){ # process streams if(missing(streams)) { pData <- subset(theData, theData$Well==theWell) streams<-levels(pData$Stream) } else { pData <- subset(theData, theData$Well==theWell & (theData$Stream %in% streams)) } nStreams <- length(streams) # process cases pData$Case<-relevel(pData$Case, ref=obs) theCases <- levels(pData$Case) nCases <- nlevels(pData$Case) theObsCase <- which(theCases==obs)[1] types<-ifelse(1:nCases==theObsCase,"p","l") theLegendLines <- 1:nCases==theObsCase myFill.color=c("red","orange","ForestGreen","black","blue","DodgerBlue")[pData$Stream] myPch.shape=c(23,24,21,22,15:19)[pData$Stream] theDates<-as.Date(pData$Days,origin=start) x.marks<-prettyDates(theDates, origin=start, by=xby) print(x.marks) xyplot(Value~theDates | Stream, data=pData, groups=Case, type=types, distribute.type=T, fill.color=myFill.color, pch.shape=myPch.shape, marks=x.marks, panel=function(x, y, fill.color, pch.shape, marks, ..., subscripts) { fill<-fill.color[subscripts] pch<-pch.shape[subscripts] panel.xyplot(x, y, fill=fill, pch=pch, subscripts=subscripts, ...) panel.grid(h = -1, v = 0) panel.abline(v=marks$at) }, index.cond=list(order), strip=strip.custom(factor.levels=headings), main=sprintf("Performance Plot\n%s Well\nRhourde El Baguel Field",theWell), layout=c(1,nStreams), scales=list( x=list(relation="same",at=x.marks$at, labels=x.marks$labels), y=list(relation="free")), par.settings=list( layout.heights=list(panel=rev(heights)), superpose.line=list(col=brewer.pal(nCases,"Set1")), superpose.symbol=list(col="black")), auto.key=list(side="top", columns=min(5,nCases), points=F, lines=T), xlab="Date", ylab=NULL, ...) } prettyDates<-function(x,origin="1970-01-01", by="years"){ s<-range(as.integer(format(x,'%Y'))) d1<-as.Date(sprintf("%d-01-01",s[1])) d2<-as.Date(sprintf("%d-01-01",s[2]+1)) d<-seq(as.Date(d1,origin=origin),to=as.Date(d2,origin=origin),by=by) list(x=as.numeric(d),lab=format(d,'%Y')) } The call > simPlot(t,"P-1",streams=c("Oil","Water")) $x [1] 10957 11323 11688 12053 $lab [1] "2000" "2001" "2002" "2003" shows the correct "at" and "labels" values, but there is no annotation, except for the xlab at the bottom of the plot. What do I need to change to get the grid-lines, ticks, and labels from my prettyDates function on the plot? Thanks in advance Jeffrey -- View this message in context: http://r.789695.n4.nabble.com/Plotting-dates-and-grid-lines-on-the-X-Axis-of-xyplot-tp2533549p2533549.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.