Skip to content

drawing a circle using symbols

5 messages · Paul Murrell, Sundar Dorai-Raj, Brian Ripley +1 more

#
Dear friends, I was drawing a circle with centrum in (1,-1) and 
radius 5 to show my girl that the line y=3*x+1 goes through (1,4) and 
(-2,-5) of the circle, but on Windows XP, R 2.20 the drawing was not 
good at all, and the known solutions were not shown in the graph. I 
guess I got it wrong? Is this use not intended ?

Best wishes
Troels Ring, MD
Aalborg, Denmark

symbols(x=1,y=-1,circles=5,inches=FALSE, xlim=c(-10,10),ylim=c(-10,10))
curve(3*x+1,-10,10,1000,add=T)
abline(v=c(-2,1))
abline(h=c(-1,-5,4))
#
Hi
Troels Ring wrote:
The important part may be that your plot is not square.   In the help 
file for symbols() it says (NOTE the "x axis") ...

   inches: If 'inches' is 'FALSE', the units are taken to be those of
           the x axis.

If you precede your code with ...

   par(pty="s")

... does the result look better?

Paul
#
Troels Ring wrote:
Hi, Troels,

The aspect ratio of y to x is not 1. So, the symbol is visually a circle 
but in reality an ellipse. Try

symbols(x = 1, y = -1, circles = 5, inches = FALSE,
         asp = 1, xlim = c(-10, 10), ylim = c(-10, 10))
curve(3 * x + 1, -10, 10, 1000, add = TRUE)
abline(v = c(-2, 1))
abline(h = c(-1, -5, 4))

HTH,

--sundar
#
?symbols says

   inches: If 'inches' is 'FALSE', the units are taken to be those of
           the x axis.

Note, 'the x axis' and you have not ensured the x and y axes have the same 
scale.  Try

plot(c(-10,10), c(-10,10), asp=1, type="n")
symbols(x=1,y=-1,circles=5,inches=FALSE, add=TRUE
curve(3*x+1,-10,10,1000,add=TRUE)
abline(v=c(-2,1))
abline(h=c(-1,-5,4))

which works for me.  (eqscplot in MASS is another way to do this.)
On Tue, 29 Nov 2005, Troels Ring wrote:

            

  
    
#
Thanks a lot, Paul!
Best wishes
Troels
At 20:05 29-11-2005, you wrote: