[Rd] need some help in plotting xy graph
Martin Maechler
maechler at stat.math.ethz.ch
Wed May 21 09:28:21 CEST 2008
1) If you need some help, *PLEASE* use the R-help mailing list.
2) Sending your e-mail more than once (you sent it 3 times!) to
the same mailing list of hundreds of subscribers
is considered very impolite.
Martin Maechler, ETH Zurich,
R-devel List manager
>>>>> "KR\" == Kurapati, Ravichandra \(Ravichandra\) <ravichandra.kurapati at alcatel-lucent.com>
>>>>> on Wed, 21 May 2008 10:24:48 +0530 writes:
KR\> Hi
KR\> Dataframe fdf contains
KR\> bin rate overlay
KR\> 1 1 90 Assign First/cc _from_SN_53 RNC_20_to_SN_50 RNC_21_Success
KR\> Rate
KR\> 2 2 93 Assign First/cc _from_SN_53 RNC_20_to_SN_50 RNC_21_Success
KR\> Rate
KR\> 3 1 90 Assign First/cc _from_SN_50 RNC_21_to_SN_53 RNC_20_Success
KR\> Rate
KR\> 4 2 94 Assign First/cc _from_SN_50 RNC_21_to_SN_53 RNC_20_Success
KR\> Rate
KR\> time
KR\> 1 (04/01/08 16:02:30)
KR\> 2 (04/01/08 16:07:30)
KR\> 3 (04/01/08 16:02:30)
KR\> 4 (04/01/08 16:07:30)
KR\> And then I write the following lines of code to plot a xygraph on a pdf
KR\> file
KR\> n <- length(unique(fdf$time))
KR\> x <-sort(unique(fdf$time))
KR\> y<-UTCsecs2chron(x)
KR\> xscales <- computeTimeScales(y)
KR\> yscales<-NULL
KR\> scales<-c(xscales,yscales)
KR\> ylab<-"session transfer rate"
KR\> xlab<-"time"
KR\> lgnd.txt<-levels(fdf$overlay)
KR\> celnet.trellis.device(device="pdf", file="ravi_st.pdf", width=10,height
KR\> = 10)
KR\> main<-"this is the first report"
KR\> formd="rate ~ as.numeric(time)"
KR\> print(
KR\> xyplot(formula(formd),
KR\> data = fdf, groups = overlay,
KR\> type = "b", as.table = TRUE, cex=0.20,
KR\> #subset = ok, commented to show breaks in graph
KR\> main = main, xlab = "Time", ylab = ylab,
KR\> scales = scales,
KR\> key = simpleKey(text = lgnd.txt, cex = 3/4,
KR\> points = FALSE, lines = TRUE),
KR\> page = function(n) annotate(opts$ann),
KR\> sub = "",
KR\> layout = c(1,1)
KR\> )
KR\> )
KR\> "computeTimeScales" <-
KR\> function(z, rot=0) ## z is a chron object
KR\> {browser()
KR\> ## how many days do the data span?
KR\> n.days <- ceiling(diff(range(z, na.rm = TRUE)))
KR\> ## compute x ticks, pretty labels
KR\> x <- as.numeric(z)
KR\> r <- range(x, na.rm = TRUE)
KR\> at.x <- seq(from = r[1], to = r[2], length = 7)
KR\> two_digits <- function(x){
KR\> x <- paste("0", x, sep="")
KR\> substring(x,nchar(x)-1)
KR\> }
KR\> ## heuristics: use hh:mm when range of data falls within one day,
KR\> ## otherwise use MM-DD hh:mm.
KR\> at.z <- chron(at.x)
KR\> hh <- paste(two_digits(hours(at.z)), two_digits(minutes(at.z)),
KR\> sep=":")
KR\> if(0){ ## hh:ss # this is commented as for more than one day
KR\> from/to time no date was printed
KR\> at.lbls <- hh
KR\> }
KR\> else { ## MM-DD\nhh:ss
KR\> m <- month.day.year(at.z)
KR\> dd <- paste(two_digits(m$month), two_digits(m$day), sep="-")
KR\> at.lbls <- paste(dd, hh, sep="\n")
KR\> }
KR\> list(x=list(at = at.x, rot=rot, labels = at.lbls))
KR\> }
KR\> "celnet.theme" <-
KR\> function()
KR\> {
KR\> celnet.theme <- canonical.theme("pdf", color = TRUE)
KR\> if(tolower(.Device) =="png")
KR\> celnet.theme$background$col <- "white"
KR\> else
KR\> canonical.theme("pdf", color = TRUE)
KR\> celnet.theme$background$col <- "transparent"
KR\> celnet.theme
KR\> }
KR\> "celnet.trellis.device" <-
KR\> function(device, file, width = NULL, height = NULL,...)
KR\> {
KR\> ## analogous to trellis.device() -- this is just tailored to Celnet
KR\> if(is.null(width))
KR\> width <- 8
KR\> if(is.null(height))
KR\> height <- 6
KR\> if(tolower(device)=="png"){
KR\> if(missing(width)) width <- 72 * width
KR\> if(missing(height)) height <- 72 * height
KR\> }
KR\> if(tolower(device)=="x11")
KR\> trellis.device(device, width=width, height=height,
KR\> theme=celnet.theme())
KR\> if(tolower(device)=="ps" || tolower(device)=="postscript")
KR\> trellis.device("postscript", file=file, color = TRUE,
KR\> width=width, height=height, theme=celnet.theme())
KR\> else
KR\> trellis.device(device, file=file,
KR\> width=width, height=height, theme=celnet.theme())
KR\> }
KR\> "annotate" <-
KR\> function(str, ...)
KR\> ## print a metadata message at the top-bottom of current trellis
KR\> display
KR\> { else if(n==1){
KR\> x <- 0.95
KR\> hjust <- "right"
KR\> } else if(n==2){
KR\> x <- c(0.05, 0.95)
KR\> hjust <- c("left", "right")
KR\> } else if(n==3){
KR\> x <- c(0.05, 0.50, 0.95)
KR\> hjust <- c("left", "center", "right")
KR\> }
KR\> x <- unit(x, "npc")
KR\> y <- unit(1.5, "lines") ## at 0.5, 1.5, ... lines
KR\> for(i in seq(along = x)){
KR\> grid.text(label = str[i],
KR\> x = x[i], y = y, just = c(hjust[i], "bottom"), ...)
KR\> }
KR\> invisible(str)
KR\> }
KR\> n <- length(str) ## one line per string
KR\> if(n==0)
KR\> return(invisible(str))
KR\> }
KR\> But I did nt get any desired o/p on a file ravi_st.pdf
KR\> Desired o/p is
KR\> Rate ~ as.numeric(time)
KR\> Group=overlay
KR\> Can any one tell how can I get the desired o/p
KR\> [[alternative HTML version deleted]]
KR\> ______________________________________________
KR\> R-devel at r-project.org mailing list
KR\> https://stat.ethz.ch/mailman/listinfo/r-devel
More information about the R-devel
mailing list