From: Ted Harding <Ted.Harding_at_manchester.ac.uk>

Date: Mon, 21 Jul 2008 14:01:01 +0100 (BST)

>> Hi Folks,

*>> I've been digging for the solution to this for several
*

*>> hours now. If there is a solution, it must be one of the
*

*>> worst "needle-in-a-haystack" examples in R documentation!
*

*>>
*

*>> Essentially, I want to make an x-y plot in which the
*

*>> X-axis really is the X-axis (i.e. its vertical position
*

*>> is at y=0), and the Y-axis really is the Y-axis (i.e.
*

*>> its horizontal position is at x=0). Discussion, with
*

*>> toy examples, below.
*

*>>
*

*>> I have sort-of solved this (as stated) for one special
*

*>> case, after a depth-4 search through
*

*>>
*

*>> ?plot --> ?plot.default --> ?par --> ?axis
*

*>>
*

*>> which finally led me to the parameter "pos" to axis():
*

*>>
*

*>> ?axis
*

*>> pos: the coordinate at which the axis line is to be drawn:
*

*>> if not 'NA' this overrides the values of both 'line' and 'mgp[3]'.
*

*>>
*

*>> Hence, instead of
*

*>>
*

*>> plot(c(0.5,2.5),c(0.5,2.5),xlim=c(0,3),ylim=c(0,3),
*

*>> frame.plot=FALSE)
*

*>>
*

*>> (where the axes do not meet at the origin (0,0)), I can do
*

*>>
*

*>> plot(c(0.5,2.5),c(0.5,2.5),xlim=c(0,3),ylim=c(0,3),
*

*>> frame.plot=FALSE,pos=0)
*

*>>
*

*>> which is *exactly* what I want in this case.
*

*>>
*

*>> But now I want to do the same, where instead of plotting the
*

*>> two points (0.5,0.5), (2.5,2.5) I want to plot (0.5,2.5), (2.5,4.5).
*

*>>
*

*>> Provided I keep the xlim and ylim to both have lower value 0,
*

*>> a similar solution again works fine:
*

*>>
*

*>> plot(c(0.5,2.5),c(2.5,4.5),xlim=c(0,3),ylim=c(0,5),
*

*>> frame.plot=FALSE,pos=0)
*

*>>
*

*>> But, in this case, what I *really* want is to limit the Y range
*

*>> to the "relevant" bit: ylim=c(2,5) -- I don't want to have a lot
*

*>> of empty space below the points. So I want a Y-axis running from
*

*>> y=2 to y=5, and X-axis as before from x=0 to x=3, and I want these
*

*>> two axes to meet at (x=0,y=2). But how?
*

*>>
*

*>> By analogy to the above, I need to set a "pos=0" for the X-axis,
*

*>> and a "pos=2" for the y-axis. And I have not been able to discover
*

*>> how to do this.
*

E-Mail: (Ted Harding) <Ted.Harding_at_manchester.ac.uk> Fax-to-email: +44 (0)870 094 0861

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. Received on Mon 21 Jul 2008 - 13:09:56 GMT

Date: Mon, 21 Jul 2008 14:01:01 +0100 (BST)

On 21-Jul-08 12:43:47, Duncan Murdoch wrote:

> On 7/21/2008 8:13 AM, (Ted Harding) wrote:

>> Hi Folks,

> > It may or may not be possible in a single call to plot(), but it is > certainly straightforward if you use separate calls to plot() and axis: > > > plot(c(0.5,2.5),c(2.5,4.5),xlim=c(0,3),ylim=c(2,5), axes=F) > > axis(1, pos=2) > > axis(2, pos=0)

Thanks, Duncan! That nicely rounds off Marc's response, and makes sense (and also, in fact, exposes my "blind spot" when I was reading the documentation in the first place).

> Generally speaking I find it is usually easier not to try to convince > plot() to do strange things: I tell it to do nothing, and do the > strange things myself.

It depends what you mean by "strange", Duncan. To be frank, I find R's default "offset" axes to be strange, and what I've been trying to achieve to be "normal". But that's a matter of taste, I suppose -- unless you need, for instance, to be able to lay a ruler over the plot and see where it meets the "axis"!

> Duncan Murdoch

Ted.

E-Mail: (Ted Harding) <Ted.Harding_at_manchester.ac.uk> Fax-to-email: +44 (0)870 094 0861

Date: 21-Jul-08 Time: 14:00:58 ------------------------------ XFMail ------------------------------ ______________________________________________R-help_at_r-project.org 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. Received on Mon 21 Jul 2008 - 13:09:56 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Mon 21 Jul 2008 - 13:32:01 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*