# [R] How does biplot.princomp scale its axes?

Patrick Connolly p_connolly at ihug.co.nz
Mon Jul 31 23:47:35 CEST 2006

```I'm attempting to modify how biplot draws its red vectors (among other
things).  This is how I've started:

Biplot <- function(xx, comps = c(1, 2), cex = c(.6, .4))
{
## Purpose: Makes a biplot with princomp() object to not show arrows
## ----------------------------------------------------------------------
## Arguments: xx is an object made using princomp()
## ----------------------------------------------------------------------
scores <- xx\$scores[, paste("Comp", comps, sep = ".")]
plot(range(scores), range(scores), xlab = "", ylab = "", xaxt = "n",
yaxt = "n", pch = " ")
text(scores[,1], scores[,2], rownames(scores), cex = cex[1])
axis(2)
axis(1)
}

I can make part of a biplot using that function with the USArrests data:
Biplot(princomp(USArrests, cor = TRUE), c(1,2), cex = c(.6, .4))

Compare that with what we get using biplot.princomp:
biplot(princomp(USArrests, cor = TRUE), c(1,2), cex = c(.6, .4))

It seems to me that the y-values are the same in both plots, but some
sort of scaling on the x-axis is happening.  Something similar seems

I notice in the documentation for biplot, mention is made of "... many
variations on biplots".  Would I be doing something inexcusable if I
ignored the differences I've noticed here?

TIA

--
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.
___    Patrick Connolly
{~._.~}          		 Great minds discuss ideas
_( Y )_  	  	        Middle minds discuss events
(:_~*~_:) 	       		 Small minds discuss people
(_)-(_)  	                           ..... Anon

~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.

```