R Language
Staafdiagram
Zoeken…
Invoering
barplot () functie
In barplot worden factor-niveaus op de x-as geplaatst en worden frequenties (of verhoudingen) van verschillende factor-niveaus op de y-as beschouwd. Voor elk factor-niveau wordt een balk van uniforme breedte met hoogtes evenredig met de frequentie (of verhouding) van het factor-niveau geconstrueerd.
De functie barplot()
bevindt zich in het grafische pakket van de systeembibliotheek van de R. De functie barplot()
moet ten minste één argument bevatten. De R-hulp noemt dit heights
, die ofwel vector of een matrix moeten zijn. Als het vector is, zijn de leden de verschillende factor-niveaus.
Neem ter illustratie van barplot()
de volgende gegevensvoorbereiding:
> 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+"
>
Een staafdiagram van de Marks-vector wordt verkregen van
> barplot(table(Marks),main="Mid-Marks in Algorithms")
Merk op dat de functie barplot () de factorniveaus op de x-as in de lexicographical order
van de niveaus plaatst. Met behulp van de parameternamen.arg names.arg
de balken in de plot worden geplaatst in de volgorde zoals aangegeven in de vector, cijfers .
# plot to the desired horizontal axis labels
> barplot(table(Marks),names.arg=grades ,main="Mid-Marks in Algorithms")
Gekleurde balken kunnen worden getekend met de parameter col=
.
> barplot(table(Marks),names.arg=grades,col = c("lightblue",
"lightcyan", "lavender", "mistyrose", "cornsilk"),
main="Mid-Marks in Algorithms")
Een staafdiagram met horizontale balken kan als volgt worden verkregen:
> barplot(table(Marks),names.arg=grades,horiz=TRUE,col = c("lightblue",
"lightcyan", "lavender", "mistyrose", "cornsilk"),
main="Mid-Marks in Algorithms")
Een staafdiagram met verhoudingen op de y-as kan als volgt worden verkregen:
> barplot(prop.table(table(Marks)),names.arg=grades,col = c("lightblue",
"lightcyan", "lavender", "mistyrose", "cornsilk"),
main="Mid-Marks in Algorithms")
De grootte van de namen op cex.names
op de x-as kan worden vergroot met de parameter 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)
De parameter heights
van de barplot()
kan een matrix zijn. Het kan bijvoorbeeld een matrix zijn, waarbij de kolommen de verschillende onderwerpen in een cursus zijn, de rijen de labels van de cijfers. Overweeg de volgende matrix:
> 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
Gebruik de opdracht om een gestapelde balk te tekenen:
> barplot(gradTab,col = c("lightblue","lightcyan",
"lavender", "mistyrose", "cornsilk"),legend.text = grades,
main="Mid-Marks in Algorithms")
Om naast elkaar liggende balken te tekenen, gebruikt u de parameter besides
, zoals gegeven onder:
> barplot(gradTab,beside = T,col = c("lightblue","lightcyan",
"lavender", "mistyrose", "cornsilk"),legend.text = grades,
main="Mid-Marks in Algorithms")
Een horizontaal staafdiagram kan worden verkregen met de parameter 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")