R Language
Stapeldiagram
Sök…
Introduktion
barplot () -funktion
I barplot placeras faktornivåer på x-axeln och frekvenser (eller proportioner) för olika faktornivåer beaktas på y-axeln. För varje faktornivå konstrueras en stapel med enhetlig bredd med höjder som är proportionell mot faktornivåfrekvens (eller proportion).
barplot()
finns i grafikpaketet i R: s systembibliotek. barplot()
funktionen måste levereras med minst ett argument. R-hjälpen kallar detta som heights
, som måste vara antingen vektor eller en matris. Om det är vektor är medlemmarna olika faktornivåer.
För att illustrera barplot()
, barplot()
:
> grades<-c("A+","A-","B+","B","C")
> Marks<-sample(grades,40,replace=T,prob=c(.2,.3,.25,.15,.1))
> Marks
[1] "A+" "A-" "B+" "A-" "A+" "B" "A+" "B+" "A-" "B" "A+" "A-"
[13] "A-" "B+" "A-" "A-" "A-" "A-" "A+" "A-" "A+" "A+" "C" "C"
[25] "B" "C" "B+" "C" "B+" "B+" "B+" "A+" "B+" "A-" "A+" "A-"
[37] "A-" "B" "C" "A+"
>
Ett stapeldiagram över Marks-vektorn erhålls från
> barplot(table(Marks),main="Mid-Marks in Algorithms")
Observera att barplot-funktionen placerar faktornivåerna på x-axeln i nivåernas lexicographical order
. Med hjälp av parameternamnen.arg names.arg
staplarna i plot placeras i den ordning som anges i vektorn, grader .
# plot to the desired horizontal axis labels
> barplot(table(Marks),names.arg=grades ,main="Mid-Marks in Algorithms")
Färgade staplar kan ritas med hjälp av parametern col=
.
> barplot(table(Marks),names.arg=grades,col = c("lightblue",
"lightcyan", "lavender", "mistyrose", "cornsilk"),
main="Mid-Marks in Algorithms")
Ett stapeldiagram med horisontella staplar kan erhållas enligt följande:
> barplot(table(Marks),names.arg=grades,horiz=TRUE,col = c("lightblue",
"lightcyan", "lavender", "mistyrose", "cornsilk"),
main="Mid-Marks in Algorithms")
Ett stapeldiagram med proportioner på y-axeln kan erhållas enligt följande:
> barplot(prop.table(table(Marks)),names.arg=grades,col = c("lightblue",
"lightcyan", "lavender", "mistyrose", "cornsilk"),
main="Mid-Marks in Algorithms")
Storleken på cex.names
på x-axeln kan ökas med parametern cex.names
.
> barplot(prop.table(table(Marks)),names.arg=grades,col = c("lightblue",
"lightcyan", "lavender", "mistyrose", "cornsilk"),
main="Mid-Marks in Algorithms",cex.names=2)
Den heights
parametern för barplot()
kan vara en matris. Till exempel kan det vara matris, där kolumnerna är de olika ämnen som tas i en kurs, raderna kan vara etiketter för betyg. Tänk på följande matris:
> gradTab
Algorithms Operating Systems Discrete Math
A- 13 10 7
A+ 10 7 2
B 4 2 14
B+ 8 19 12
C 5 2 5
För att rita en staplad stapel använder du bara kommandot:
> barplot(gradTab,col = c("lightblue","lightcyan",
"lavender", "mistyrose", "cornsilk"),legend.text = grades,
main="Mid-Marks in Algorithms")
För att rita en sida med varandra placerade sidor använder du besides
parametern enligt:
> barplot(gradTab,beside = T,col = c("lightblue","lightcyan",
"lavender", "mistyrose", "cornsilk"),legend.text = grades,
main="Mid-Marks in Algorithms")
Ett horisontellt stapeldiagram kan erhållas med hjälp av horiz=T
:
> barplot(gradTab,beside = T,horiz=T,col = c("lightblue","lightcyan",
"lavender", "mistyrose", "cornsilk"),legend.text = grades,
cex.names=.75,main="Mid-Marks in Algorithms")