The following command produces red axis line in a pairs
plot:
pairs(iris[1:4], main = "Anderson's Iris Data -- 3 species",
pch = "+", col = c("red", "green3",
"blue")[unclass(iris$Species)])
Trying to fool pairs in the following way produces the
same plot as above:
pairs(iris[1:4], main = "Anderson's Iris Data -- 3 species",pch =
"+",
col = c("black", "red", "green3",
"blue")[ 1+ unclass(iris$Species)])
One very kludgy work-around is to define a new level 1, say
"foo" in the first row of iris:
iris2=iris
iris2$Species = as.character(iris2$Species)
iris2$Species[1]="foo"
iris2$Species = factor(iris2$Species)
pairs(iris2[1:4], main = "Anderson's Iris Data -- 3
species", pch = "+",
col = c( "black","red",
"green3","blue")[ unclass(iris2$Species)])
However, if any other row is redefined, the red-axis
persists. For example:
iris2=iris
iris2$Species = as.character(iris2$Species)
iris2$Species[3]="foo"
iris2$Species = factor(iris2$Species)
pairs(iris2[1:4], main = "Anderson's Iris Data -- 3
species", pch = "+",
col = c( "black","red",
"green3","blue")[ unclass(iris2$Species)])
I'd appreciate suggestions for a simpler work-around.
Thanks,
Anne
On Thursday 07 April 2005 17:51, Anne York wrote:> The following command produces red axis line in a pairs > plot: > > pairs(iris[1:4], main = "Anderson's Iris Data -- 3 species", > pch = "+", col = c("red", "green3", "blue")[unclass(iris$Species)]) > > > Trying to fool pairs in the following way produces the > same plot as above: > > pairs(iris[1:4], main = "Anderson's Iris Data -- 3 species",pch > "+", col = c("black", "red", "green3", "blue")[ 1+ > unclass(iris$Species)]) > > One very kludgy work-around is to define a new level 1, say > "foo" in the first row of iris: > > iris2=iris > iris2$Species = as.character(iris2$Species) > iris2$Species[1]="foo" > iris2$Species = factor(iris2$Species) > > pairs(iris2[1:4], main = "Anderson's Iris Data -- 3 > species", pch = "+", > col = c( "black","red", "green3","blue")[ unclass(iris2$Species)]) > > However, if any other row is redefined, the red-axis > persists. For example: > > iris2=iris > iris2$Species = as.character(iris2$Species) > iris2$Species[3]="foo" > iris2$Species = factor(iris2$Species) > > > pairs(iris2[1:4], main = "Anderson's Iris Data -- 3 > species", pch = "+", > col = c( "black","red", "green3","blue")[ unclass(iris2$Species)]) > > I'd appreciate suggestions for a simpler work-around.One possibility is something along the lines of pairs(iris[1:4], panel = function(...) points(..., col = c("red", "green3", "blue") [unclass(iris$Species)] )) Deepayan
Hi Anne,
Here's one suggestion, use a simple panel function:
cols <- c("red", "green3", "blue")
with(iris,
pairs(iris[, -5], main = "Andersons Iris Data - 3 species",
panel = function(x, y, ...)
points(x, y, pch = (2:4)[Species], col = cols[Species], ...)
))
Bill Venables
-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch
[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Anne York
Sent: Friday, 8 April 2005 8:51 AM
To: Help R
Subject: [R] axis colors in pairs plot
The following command produces red axis line in a pairs
plot:
pairs(iris[1:4], main = "Anderson's Iris Data -- 3 species",
pch = "+", col = c("red", "green3",
"blue")[unclass(iris$Species)])
Trying to fool pairs in the following way produces the
same plot as above:
pairs(iris[1:4], main = "Anderson's Iris Data -- 3 species",pch =
"+",
col = c("black", "red", "green3",
"blue")[ 1+ unclass(iris$Species)])
One very kludgy work-around is to define a new level 1, say
"foo" in the first row of iris:
iris2=iris
iris2$Species = as.character(iris2$Species)
iris2$Species[1]="foo"
iris2$Species = factor(iris2$Species)
pairs(iris2[1:4], main = "Anderson's Iris Data -- 3
species", pch = "+",
col = c( "black","red",
"green3","blue")[ unclass(iris2$Species)])
However, if any other row is redefined, the red-axis
persists. For example:
iris2=iris
iris2$Species = as.character(iris2$Species)
iris2$Species[3]="foo"
iris2$Species = factor(iris2$Species)
pairs(iris2[1:4], main = "Anderson's Iris Data -- 3
species", pch = "+",
col = c( "black","red",
"green3","blue")[ unclass(iris2$Species)])
I'd appreciate suggestions for a simpler work-around.
Thanks,
Anne
______________________________________________
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