Skip to content

symbols() draws squares too high (PR#9027)

3 messages · Michel Lang, Duncan Murdoch, Brian Ripley

#
Full_Name: Michel Lang
Version: 2.2.1
OS: 2.6.16-gentoo-r9 on x86_64
Submission from: (NULL) (62.143.164.39)


  plot(-2:2, -2:2, type = "n")
  symbols(x = 0, y = 0, squares = 2, inches = FALSE, add = TRUE)

This should plot a square with its center at (0,0) and side length 2, in other
words a square from (-1,-1) as lower left angle to (1,1) as upper right angle.

However, if you execute this line
  abline(h = c(-1,1))
you see that the squares height is definitely too large.
#
On 6/23/2006 9:55 AM, michellang at gmail.com wrote:
This is not a bug.

The documentation says that when inches = FALSE, the units are those of 
the x axis, so horizontal lines are not relevant.  Try

abline(v=c(-1, 1))

If you want your x and y scales to be identical, I think you need to use 
grid and lattice, rather than traditional graphics, and to set aspect="iso".

Duncan Murdoch
#
On Fri, 23 Jun 2006, Duncan Murdoch wrote:

            
That's long obselete, and quite possibly the documentation was wrong then 
(it was at some point in the midterm past).
par(asp=1) or eqscplot (MASS) does this perfectly well in base graphics.