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.

Reply via email to