Thank you so much, Pascal. Works perfectly! :)
On Tue, Aug 27, 2013 at 8:14 PM, Pascal Oettli <[email protected]> wrote: > Hello, > > The following works for me: > > library(Hmisc) > timeseries<-c(1950,2000,2050,2100) > dataseries<-seq(1:4) > dataseries1<-c(1,2,3,4) > dataseries2<-c(1.5,2.5,3.5,4) > plot(timeseries,dataseries,type="n") > lines(timeseries,dataseries1,col="red",type="l") > lines(timeseries,dataseries2,col="blue",type="l") > curves<-list() > curves[[1]]<-list(x=timeseries,y=dataseries1) > curves[[2]]<-list(x=timeseries,y=dataseries2) > dataSeriesLabels<-c("this legend should have pch=19","this legend should have > pch=5") > labcurve(curves, dataSeriesLabels, type=rep("l",2), lty=rep("solid",2), lwd=1, > col=c("red","blue"), keys=c(19,5), cex=1, adj="auto", keyloc=c("auto"), > transparent=FALSE) > > > Another way is to use legend: > > library(Hmisc) > timeseries<-c(1950,2000,2050,2100) > dataseries<-seq(1:4) > dataseries1<-c(1,2,3,4) > dataseries2<-c(1.5,2.5,3.5,4) > plot(timeseries,dataseries,type="n") > lines(timeseries,dataseries1,col="red",type="o",pch=19) > lines(timeseries,dataseries2,col="blue",type="o",pch=5) > curves<-list() > curves[[1]]<-list(x=timeseries,y=dataseries1) > curves[[2]]<-list(x=timeseries,y=dataseries2) > dataSeriesLabels<-c("this legend should have pch=19","this legend should > have pch=5") > legend(1950,3.6,dataSeriesLabels,lty=1, pch=c(19,5), col=c('red','blue')) > > > HTH, > Pascal > > > > 2013/8/28 Igor Ribeiro <[email protected]> > >> Hi Pascal, >> Still... there is something wrong. I changed the two lines as you >> suggested, and now I'm using the keys parameter. But the output is not as >> expected. That's why I was controlling the points using points function, >> because that works well. >> Let me try to show you with the code: >> >> # Example 1 - the points are not over the lines and are not distributed >> the way I want (see Example 2) >> library(Hmisc) >> rm(list=ls(all=TRUE)) >> timeseries<-c(1950,2000,2050,2100) >> dataseries<-seq(1:4) >> dataseries1<-c(1,2,3,4) >> dataseries2<-c(1.5,2.5,3.5,4) >> plot(timeseries,dataseries,type="n") >> lines(timeseries,dataseries1,col="red",type="l") >> lines(timeseries,dataseries2,col="blue",type="l") >> curves<-list() >> curves[[1]]<-list(x=timeseries,y=dataseries1) >> curves[[2]]<-list(x=timeseries,y=dataseries2) >> dataSeriesLabels<-c("this legend should have pch=19","this legend should >> have pch=5") >> labcurve(curves, dataSeriesLabels, type=rep("s",2), lty=rep("solid",2), >> lwd=1, col=c("red","blue"), keys=c(19,5), cex=1, adj="auto", >> keyloc=c("auto"), transparent=FALSE) >> >> # Example 2 - this is the way I want the lines, but then I can't put the >> points (pch) in the legend... >> library(Hmisc) >> rm(list=ls(all=TRUE)) >> timeseries<-c(1950,2000,2050,2100) >> dataseries<-seq(1:4) >> dataseries1<-c(1,2,3,4) >> dataseries2<-c(1.5,2.5,3.5,4) >> plot(timeseries,dataseries,type="n") >> points (timeseries, dataseries1, pch=19, col="red", cex=1.3) >> lines(timeseries,dataseries1,col="red",type="l") >> points (timeseries, dataseries2, pch=5, col="blue", cex=1.3) >> lines(timeseries,dataseries2,col="blue",type="l") >> curves<-list() >> curves[[1]]<-list(x=timeseries,y=dataseries1) >> curves[[2]]<-list(x=timeseries,y=dataseries2) >> dataSeriesLabels<-c("this legend should have pch=19","this legend should >> have pch=5") >> labcurve(curves, dataSeriesLabels, type=rep("s",2), lty=rep("solid",2), >> lwd=1, col=c("red","blue"), keys="lines", cex=1, adj="auto", >> keyloc=c("auto"), transparent=FALSE) >> >> You see the difference? I need to put the legend generated in Example 1 >> in the plot generated in Example 2. So far I was unable to mix them! >> I appreciate all your help, thank you. >> Igor. >> >> >> On Mon, Aug 26, 2013 at 9:44 PM, Pascal Oettli <[email protected]> wrote: >> >>> Hello, >>> >>> That is why I changed 2 lines in the code. Because points are misplaced >>> if you keep points with the lines. >>> >>> Regards, >>> Pascal >>> >>> >>> 2013/8/27 Igor Ribeiro <[email protected]> >>> >>>> Because I'm already controlling points using points function. So I >>>> don't want labcurve to change anything on the lines... Just draw the legend >>>> the way I need. >>>> On Aug 26, 2013 8:35 PM, "Pascal Oettli" <[email protected]> wrote: >>>> >>>>> Hello, >>>>> >>>>> Please keep the r-list included when you reply. >>>>> >>>>> Why do you want to add points to lines only in the legend? If so, the >>>>> legend would be incorrect. >>>>> >>>>> Regards, >>>>> Pascal >>>>> >>>>> >>>>> 2013/8/26 Igor Ribeiro <[email protected]> >>>>> >>>>>> Hi Pascal, >>>>>> Thank you very much - your solution works partially - it will include >>>>>> the pch in the legend, but also in the curve, which I don't want. I don't >>>>>> see a way to remove the pch from the curve and leave it only in the >>>>>> legend. >>>>>> Do you have any idea? method="none" doesn't work because then pch is not >>>>>> drawn in the legend :( >>>>>> Thanks! >>>>>> Igor. >>>>>> >>>>>> >>>>>> On Fri, Aug 23, 2013 at 3:09 AM, Pascal Oettli <[email protected]>wrote: >>>>>> >>>>>>> Hello, >>>>>>> >>>>>>> In labcurve, use "keys=c(19,5)". It is said in examples provided in >>>>>>> the help page. >>>>>>> >>>>>>> Regards, >>>>>>> Pascal >>>>>>> >>>>>>> >>>>>>> 2013/8/23 Igor Ribeiro <[email protected]> >>>>>>> >>>>>>>> Dear all, >>>>>>>> I have a plot with two lines and I'm using labcurbe (package Hmisc) >>>>>>>> to show >>>>>>>> the legend. >>>>>>>> Everything works well, except that the line displayed in legend box >>>>>>>> should >>>>>>>> have same style (plotting character) as the line in the plot. This >>>>>>>> is >>>>>>>> achieved by pch parameter and looks like that it's only supported >>>>>>>> via >>>>>>>> putKey function (according to the documention here: >>>>>>>> http://www.inside-r.org/packages/cran/Hmisc/docs/bezier). >>>>>>>> >>>>>>>> However, I've been unsucessful to correctly use this function >>>>>>>> (putKey). >>>>>>>> Could someone help me fix the code below? >>>>>>>> >>>>>>>> library(Hmisc) >>>>>>>> >>>>>>>> rm(list=ls(all=TRUE)) >>>>>>>> timeseries<-c(1950,2000,2050,2100) >>>>>>>> dataseries<-seq(1:4) >>>>>>>> dataseries1<-c(1,2,3,4) >>>>>>>> dataseries2<-c(1.5,2.5,3.5,4) >>>>>>>> plot(timeseries,dataseries,type="n") >>>>>>>> lines(timeseries,dataseries1,col="red",type="o",pch=19) >>>>>>>> lines(timeseries,dataseries2,col="blue",type="o",pch=5) >>>>>>>> curves<-list() >>>>>>>> curves[[1]]<-list(x=timeseries,y=dataseries1) >>>>>>>> curves[[2]]<-list(x=timeseries,y=dataseries2) >>>>>>>> dataSeriesLabels<-c("this legend should have pch=19","this legend >>>>>>>> should >>>>>>>> have pch=5") >>>>>>>> >>>>>>>> # PROBLEM BELOW >>>>>>>> #putKey(z=curves,labels=dataSeriesLabels,pch=19) >>>>>>>> >>>>>>>> labcurve(curves, dataSeriesLabels, type=rep("s",2), >>>>>>>> lty=rep("solid",2), >>>>>>>> lwd=1, col=c("red","blue"), keys="lines", cex=1, adj="auto", >>>>>>>> keyloc=c("auto"), transparent=FALSE) >>>>>>>> >>>>>>>> Thank you, >>>>>>>> -- >>>>>>>> Igor. >>>>>>>> [email protected] >>>>>>>> >>>>>>>> [[alternative HTML version deleted]] >>>>>>>> >>>>>>>> ______________________________________________ >>>>>>>> [email protected] 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. >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Igor. >>>>>> [email protected] >>>>>> >>>>>> >>>>> >>> >> >> >> -- >> Igor. >> [email protected] >> >> > -- Igor. [email protected] [[alternative HTML version deleted]] ______________________________________________ [email protected] 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.

