Wasn't exactly sure what you wanted to do. Is this close? mypch <- c(a=19, b=19, c=19, d=22) #point type mycol <- c(a='green', b='red', c='black', d='blue') #color mydf <- data.frame(x=c('a','b', 'b','c','d'), y=c(2, 4, 8, 6, 2)) plot(mydf$y, type='p', pch=mypch[mydf$x], col=mycol[mydf$x])
On 7/29/06, Fred J. <[EMAIL PROTECTED]> wrote: > > Hi > > thank you for talking the time to help me with this. > > I have a sequence of numbers in a file and an equal sequence of various > character, say(a b c d) each occurs more than once. I need to plot the > numbers so that numbers corresponding to a in the other sequence would have > green dots, those corresponding to b a red dot, nothing on c and blue square > for d. i.e > > 2 a show a green dot > 4 b show a red dot > 8 b show a red dot > 6 c show default colour > 2 d show blue square > > I have the code below which plots the data but I have no clue how to > inject the extra fancies. > > **************************************************************** > ########### > # ploting # > ########### > library(tkrplot) > > #just the turning points > L <- length(I0); #points to plot > > tt <- tktoplevel() > left <- tclVar(1) > oldleft <- tclVar(1) > right <- tclVar(L) > cury <- tclVar(' ') > curx <- NA > tmpusr <- numeric(4) > tmpplt <- numeric(4) > > f1 <- function(){ > lleft <- as.numeric(tclvalue(left)) > rright <- as.numeric(tclvalue(right)) > x <- seq(lleft,rright,by=1) > par(bg='black', fg='green', col='white', col.axis='white', > col.lab='magenta', col.main='blue', col.sub='cyan') > plot(x,I0[x], type='s') > > ## par(new=TRUE) > ## plot(x,I1[x], type='s', col='yellow',axes=F) > > par(new=TRUE) > plot(x,I2[x], type='s', col='cyan',axes=F) > > axis(4) > tmpusr <<- par('usr') > tmpplt <<- par('plt') > > if(!is.na(curx)){ > abline(v=curx, col='red', lty=2) > abline(h=332, col='red', lty=2) > points(curx,I0[curx],pch=16,col='red') > } > > } > > img <- tkrplot(tt, f1,hscale=2,vscale=1.2) > tkconfigure(img, cursor='crosshair') > > f2 <- function(...){ > ol <- as.numeric(tclvalue(oldleft)) > tclvalue(oldleft) <- tclvalue(left) > r <- as.numeric(tclvalue(right)) > tclvalue(right) <- as.character(r + as.numeric(...) - ol) > tkrreplot(img) > } > > f3 <- function(...){ > tkrreplot(img) > } > > f4 <- function(...){ > i <- 100 > ol <- as.numeric(tclvalue(oldleft)) > tclvalue(left) <- as.character(ol+i) > tclvalue(oldleft) <- as.character(ol+i) > r <- as.numeric(tclvalue(right)) > tclvalue(right) <- as.character(r+i) > tkrreplot(img) > } > > iw <- as.numeric(tcl('image','width', tkcget(img,'-image'))) > ih <- as.numeric(tcl('image','height',tkcget(img,'-image'))) > > mm <- function(x,Y){ > tx <- (as.numeric(x)-1)/iw > ty <- 1-(as.numeric(Y)-1)/ih > > if( tx > tmpplt[1] & tx < tmpplt[2] & > ty > tmpplt[3] & ty < tmpplt[4] ){ > > newx <- > (tx-tmpplt[1])/(tmpplt[2]-tmpplt[1])*(tmpusr[2]-tmpusr[1])+tmpusr[1] > curx <<- round(newx) > tkrreplot(img) > > newy <- I0[curx] > newy <- floor(newy) + (newy-floor(newy))*32/100 > > # newy2 <- I1[curx] > newy3 <- I2[curx] > > tclvalue(cury) <- paste('x =',curx,' I0=',round(newy,2) > ,' I2=',round(newy3,4)) > } > } > > tkbind(img, '<Motion>', mm) > > l1 <- tklabel(tt, textvariable=cury) > > s1 <- tkscale(tt, command=f2, from=1, to=length(I0), > variable=left, orient="horiz",label='left',length=700) > s2 <- tkscale(tt, command=f3, from=1, to=length(I0), > variable=right, orient="horiz",label='right',length=700) > b1 <- tkbutton(tt, text='->', command=f4) > > tkpack(l1,img,s1,s2,b1) > > > __________________________________________________ > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@stat.math.ethz.ch 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. > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem you are trying to solve? [[alternative HTML version deleted]] ______________________________________________ R-help@stat.math.ethz.ch 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.