Plotting points on line graphs using xYplot in Hmisc

View: New views
4 Messages — Rating Filter:   Alert me  

Plotting points on line graphs using xYplot in Hmisc

by John Poulsen-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



Hello,

I am using xYplot to plot lines with confidence bands (see test
example below).  I would like to add a single point with
confidence bars to each graph (coordinates of the points below:
px, py, pxlow, etc...).  I tried playing with
panel=panel.superpose, but failed to get it to work.  Any ideas on
how to add these points to the graphs?

Thanks for your help,
John


## Test example

x1=seq(1,30,0.5)
y1=x1^2
y2=10*(x1^2)
ycomb=c(y1,y2)
y.up=ycomb+0.1*ycomb
y.low=ycomb-0.1*ycomb
grp=rep(c("Anls","Plts"),each=length(x1))
dat=as.data.frame(cbind(ycomb, y.up, y.low,
rep(x1,2)),stringsAsFactors=F)
colnames(dat)=c("ycomb","y.up","y.low","x1")
py=c(200,2000); pylow=c(190,1900); pyhi=c(210,2100)
px=c(0,0); pxlow=c(0,0); pxhi=c(0,0)

with(dat,xYplot(Cbind(ycomb, y.up, y.low)~x1|factor(grp),
     data=dat,type="l", method="filled bands", col.fill="light
grey",
     
scales=list(y=list(relation="free"),x=list(alternating=c(1,1,1))),
     ylim=list(c(0,1200),c(0,10000)),
     strip=strip.custom(factor.levels=c(expression("Anls
km"^2),expression("Plants km"^2)))))

-------------------------------
John Poulsen
223 Bartram Hall PO Box 118525
University of Florida
Gainesville, FL 32611-8525

______________________________________________
R-help@... 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.

Re: Plotting points on line graphs using xYplot in Hmisc

by Deepayan Sarkar :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 5/5/08, John Poulsen <jpoulsen@...> wrote:
>
>
>  Hello,
>
>  I am using xYplot to plot lines with confidence bands (see test example
> below).  I would like to add a single point with confidence bars to each
> graph (coordinates of the points below: px, py, pxlow, etc...).  I tried
> playing with panel=panel.superpose, but failed to get it to work.  Any ideas
> on how to add these points to the graphs?

If you want to add the same lines/points in all panels, you could
write a not-too-complicated custom panel function; e.g.,

with(dat,
     xYplot(Cbind(ycomb, y.up, y.low)~x1|factor(grp),
            data=dat,type="l",
            method="filled bands",
            col.fill="light grey",
            subscripts = TRUE,
            panel = function(...) {
                panel.xYplot(...)
                panel.segments(pxlow, pylow, pxhi, pyhi)
            },
            scales=
            list(y=list(relation="free"),
                 x=list(alternating=c(1,1,1))),
            ylim=list(c(0,1200),c(0,10000))))

-Deepayan

______________________________________________
R-help@... 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.

Parent Message unknown Re: Plotting points on line graphs using xYplot in Hmisc

by John Poulsen-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Deepayan,

Thanks for the below solution to my graphing problem - just what I
was looking for.

One quick additional question, where do I change graphical
settings (lwd, pch, etc...) for the added points?

Thanks,
John

On 5/5/08, John Poulsen <jpoulsen@...> wrote:

> >
> >
> >  Hello,
> >
> >  I am using xYplot to plot lines with confidence bands (see
> test example
> > below).  I would like to add a single point with confidence
> bars to each
> > graph (coordinates of the points below: px, py, pxlow, etc...).
>  I tried
> > playing with panel=panel.superpose, but failed to get it to
> work.  Any ideas
> > on how to add these points to the graphs?

If you want to add the same lines/points in all panels, you could
write a not-too-complicated custom panel function; e.g.,

with(dat,
     xYplot(Cbind(ycomb, y.up, y.low)~x1|factor(grp),
            data=dat,type="l",
            method="filled bands",
            col.fill="light grey",
            subscripts = TRUE,
            panel = function(...) {
                panel.xYplot(...)
                panel.segments(pxlow, pylow, pxhi, pyhi)
            },
            scales=
            list(y=list(relation="free"),
                 x=list(alternating=c(1,1,1))),
            ylim=list(c(0,1200),c(0,10000))))

-Deepayan




-------------------------------
John Poulsen
223 Bartram Hall PO Box 118525
University of Florida
Gainesville, FL 32611-8525

______________________________________________
R-help@... 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.

Parent Message unknown Re: Plotting points on line graphs using xYplot in Hmisc

by John Poulsen-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Deepayan,

Please ignore my last e-mail and question.  The information was
easily found in ?panel.segments.

Thanks,
John


On 5/5/08, John Poulsen <jpoulsen@...> wrote:

> >
> >
> >  Hello,
> >
> >  I am using xYplot to plot lines with confidence bands (see
> test example
> > below).  I would like to add a single point with confidence
> bars to each
> > graph (coordinates of the points below: px, py, pxlow, etc...).
>  I tried
> > playing with panel=panel.superpose, but failed to get it to
> work.  Any ideas
> > on how to add these points to the graphs?

If you want to add the same lines/points in all panels, you could
write a not-too-complicated custom panel function; e.g.,

with(dat,
     xYplot(Cbind(ycomb, y.up, y.low)~x1|factor(grp),
            data=dat,type="l",
            method="filled bands",
            col.fill="light grey",
            subscripts = TRUE,
            panel = function(...) {
                panel.xYplot(...)
                panel.segments(pxlow, pylow, pxhi, pyhi)
            },
            scales=
            list(y=list(relation="free"),
                 x=list(alternating=c(1,1,1))),
            ylim=list(c(0,1200),c(0,10000))))

-Deepayan




-------------------------------
John Poulsen
223 Bartram Hall PO Box 118525
University of Florida
Gainesville, FL 32611-8525

______________________________________________
R-help@... 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.