[R] How to plot two graphs on one single plot?
Stephen Tucker
brown_emu at yahoo.com
Sat Feb 24 11:34:39 CET 2007
you can also call
plot(x1,y1)
par(new=TRUE)
plot(x2,y2,axes=FALSE)
but this is more helpful for when you want to plot with multiple y-axes.
in general, it is also possible to build up from low-level graphical
elements:
plot.new()
plot.window(xlim=range(x1),ylim=range(y1))
lines(x1,y1)
axis(1); axis(2); box()
plot.window(xlim=range(x2),ylim=range(y2))
lines(x2,y2)
axis(1); axis(2); box()
if you want both plots to be on the same scale, you can specify the axes
limits a priori, or retrieve the limits from the first figure to call in the
second by par("usr"). to use these in the second xlim, ylim call, you should
set par(xaxs="i",yaxs="i") so they aren't padded above and below the
specified limits. (see ?par for xaxs and yaxs)
best regards,
st
--- Steven McKinney <smckinney at bccrc.ca> wrote:
>
> Broadly speaking, there are a few classes
> of plotting functions.
>
> 1) "New graph" functions.
> The plot() function starts a new graph.
>
> 2) "Add to a graph" functions
> The points(), lines(), text() etc. functions
> add something to the current graph.
>
> 3) "Control graph" functions
> par() controls various aspects of the graph.
>
> R graphics experts might have some better
> classification and terminology.
>
> So you want your second plotting function to be
> points() rather than plot(), to add to the
> existing graph.
>
> Try
>
> > x1=rnorm(25, mean=0, sd=1)
> > y1=dnorm(x1, mean=0, sd=1)
> >
> > x2=rnorm(25, mean=0, sd=1)
> > y2=dnorm(x2, mean=0, sd=1)
> > plot(x1, y1, type='p', xlim=range(x1,x2), ylim=range(y1, y2), xlab='x',
> ylab='y')
> > points(x2, y2, type='p', col="red", xlab='x', ylab='y')
> >
>
> Steven McKinney
>
> Statistician
> Molecular Oncology and Breast Cancer Program
> British Columbia Cancer Research Centre
>
> email: smckinney at bccrc.ca
>
> tel: 604-675-8000 x7561
>
> BCCRC
> Molecular Oncology
> 675 West 10th Ave, Floor 4
> Vancouver B.C.
> V5Z 1L3
> Canada
>
>
>
>
> -----Original Message-----
> From: r-help-bounces at stat.math.ethz.ch on behalf of Yun Zhang
> Sent: Fri 2/23/2007 7:34 AM
> To: Henrique Dallazuanna
> Cc: r-help at stat.math.ethz.ch
> Subject: Re: [R] How to plot two graphs on one single plot?
>
> Thanks. Now R plots two graphs on one plot.
> Yet they are still on two graphs, vertically parallelized with each other.
>
> But what I want to do is actually plotting two distribution on one
> single graph, using the same x and y axis. Like:
> |
> |
> | (dist2)
> | (dist 1)
> |
> --------------------------->
>
> Is it possible to do that?
>
> Thanks,
> Yun
>
> Henrique Dallazuanna wrote:
> > par(mfrow=c(2,1))
> > #your plot
> > #after plot
> > par(mfrow=c(1,1))
> >
> > On 23/02/07, *Yun Zhang* <yunzhang at princeton.edu
> > <mailto:yunzhang at princeton.edu>> wrote:
> >
> > Hi,
> >
> > I am trying to plot two distribution graph on one plot. But I dont
> > know
> > how. I set them to the same x, y limit, even same x, y labels.
> >
> > Code:
> > x1=rnorm(25, mean=0, sd=1)
> > y1=dnorm(x1, mean=0, sd=1)
> >
> > x2=rnorm(25, mean=0, sd=1)
> > y2=dnorm(x2, mean=0, sd=1)
> > plot(x1, y1, type='p', xlim=range(x1,x2), ylim=range(y1, y2),
> > xlab='x',
> > ylab='y')
> > plot(x2, y2, type='p', col="red", xlab='x', ylab='y')
> >
> > They just dont show up in one plot.
> >
> > Any hint will be very helpful.
> >
> > Thanks,
> > Yun
> >
> > ______________________________________________
> > R-help at stat.math.ethz.ch <mailto:R-help at stat.math.ethz.ch> mailing
> > list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > <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.
> >
> >
> >
> >
> > --
> > Henrique Dallazuanna
> > Curitiba-Paraná
> > Brasil
>
> ______________________________________________
> R-help at 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.
>
> ______________________________________________
> R-help at 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.
>
____________________________________________________________________________________
Need a quick answer? Get one in minutes from people who know.
Ask your question on www.Answers.yahoo.com
More information about the R-help
mailing list