op <- par(mfrow=c(3,2))
spider(y=1,x=2:9,data=Thurstone,connect=FALSE) #a radar plot
spider(y=1,x=2:9,data=Thurstone) #same plot as a spider plot
spider(y=1:3,x=4:9,data=Thurstone,overlay=TRUE)
#make a somewhat oversized plot
spider(y=26:28,x=1:25,data=cor(psychTools::bfi,use="pairwise"),fill=TRUE,scale=2)
par(op)
#another example taken from Lippa (2001, page 193)
lippa.df <-
structure(list(labels = c("Assured - Dominant", "Gregarious\nExtraverted",
"Warm\nAgreeable", "Unassuming\nIngeneous", "Unassured - Submissive",
"Aloof\nIntroverted", "Cold\nHearted", "Arrogant\nCalculating"
), pos = c(0.8, 0.85, 0.83, 0.8, 0.75, 0.83, 0.85, 0.85), values = c(0.41,
-0.29, -0.53, -0.61, -0.38, 0.14, 0.59, 0.6), delta = c(1.1,
1.2, 1.2, 1.1, 1.1, 1.5, 1.2, 1.1)), row.names = c(NA, -8L), class = "data.frame")
radar(lippa.df$values,abs=TRUE,labels=lippa.df$labels,angle=90,clockwise=TRUE,lwd=3,
label.pos=lippa.df$pos,main="Data from Lippa (2001)",scale=.9,circles=FALSE,
cut=0,delta=lippa.df$delta)
segments(-1,0,1,0,lwd=.2) # Add hairline axes
segments(0,-1,0,1,lwd=.2)
text(0,1.05,expression(italic("Masculine Instrumentality")))
text(1.05,0,expression(italic("Feminine Communion")),srt=270)
#show how to draw a hexagon
RIASEC.df <- structure(list(labels = c("Realistic", "Investigative", "Artistic",
"Social", "Enterprising", "Conventional"), Su = c(0.84, 0.26,
-0.35, -0.68, 0.04, -0.33), Morris = c(1.14, 0.32, -0.19, -0.38,
0.22, 0.23)), row.names = c(NA, -6L), class = "data.frame")
radar(RIASEC.df$Morris,RIASEC.df$labels,clockwise=TRUE,angle=0,absolute=TRUE,circl=FALSE,scale=.7,
position=c(1,0,0,0,0,0), lwd=4,label.pos=rep(.80,6),main="",cut=0, shape=TRUE,
delta =c(1.1,1.25,1.25, 1.25, 1.45,1.45) )
text(-1.04,0,expression(italic("People")),srt=90)
text(1.04,0,expression(italic("Things")),srt=270)
text(0,.91,expression(italic("Data")))
text(0,-.91 ,expression(italic("Ideas")))
segments(-1,0,1,0,lwd=.2) #add hairline axes
segments(0,-.86,0,.86,lwd=.2)
text(0,1.2, "Data from Su")
Run the code above in your browser using DataLab