Pylväskaavio ja histogrammi R:ssä (esimerkillä)
Pylväskaavio on loistava tapa näyttää kategorialliset muuttujat x-akselilla. Tämän tyyppinen kaavio kuvaa kahta aspektia y-akselilla.
- Ensimmäinen laskee esiintymien lukumäärän ryhmien välillä.
- Toinen näyttää yhteenvetotilaston (min, max, keskiarvo ja niin edelleen) y-akselin muuttujasta.
Käytät mtcars-tietosarjaa, jossa on seuraavat muuttujat:
- cyl: Auton sylinterin numero. Numeerinen muuttuja
- am: Lähetyksen tyyppi. 0 automaattiselle ja 1 manuaaliselle. Numeerinen muuttuja
- mpg: mailia gallonaa kohden. Numeerinen muuttuja
Pylväskaavion luominen
Luodaksesi kaavion sisään R, voit käyttää kirjastoa ggplot, joka luo julkaisuvalmiita kaavioita. Tämän kirjaston perussyntaksi on:
ggplot(data, mapping = aes()) + geometric object arguments: data: dataset used to plot the graph mapping: Control the x and y-axis geometric object: The type of plot you want to show. The most common objects are: - Point: `geom_point()` - Bar: `geom_bar()` - Line: `geom_line()` - Histogram: `geom_histogram()`
Tässä opetusohjelmassa olet kiinnostunut geometrisestä objektista geom_bar(), joka luo pylväskaavion.
Pylväskaavio: laske
Ensimmäinen kaaviosi näyttää sylinterin taajuuden geom_bar(). Alla oleva koodi on yksinkertaisin syntaksi.
library(ggplot2) # Most basic bar chart ggplot(mtcars, aes(x = factor(cyl))) + geom_bar()
Koodin selitys
- Välität tietojoukon mtcars ggplotille.
- Aes()-argumentin sisällä lisäät x-akselin tekijämuuttujaksi (cyl)
- +-merkki tarkoittaa, että haluat R:n jatkavan koodin lukemista. Se tekee koodista luettavamman rikkomalla sen.
- Käytä geom_bar() geometriselle objektille.
lähtö:
Huomautuksia: varmista, että muunnat muuttujat kertoimeksi, muuten R käsittelee muuttujia numeerisina. Katso alla oleva esimerkki.
Mukauta kaaviota
Kaavion mukauttamiseen voidaan antaa neljä argumenttia:
- `stat`: Control the type of formatting. By default, `bin` to plot a count in the y-axis. For continuous value, pass `stat = "identity"` - `alpha`: Control density of the color - `fill`: Change the color of the bar - `size`: Control the size the bar
Muuta palkkien väriä
Voit muuttaa palkkien väriä. Huomaa, että palkkien värit ovat kaikki samanlaisia.
# Change the color of the bars ggplot(mtcars, aes(x = factor(cyl))) + geom_bar(fill = "coral") + theme_classic()
Koodin selitys
- Palkkien värejä ohjaa geometrisen kohteen sisällä oleva aes()-kartoitus (eli ei ggplot()). Voit muuttaa väriä täyttöargumenteilla. Täällä voit valita korallin värin.
lähtö:
Voit käyttää tätä koodia:
grDevices::colors()
nähdäksesi kaikki saatavilla olevat värit R:ssä. Väriä on noin 650.
Muuta intensiteettiä
Voit lisätä tai vähentää palkkien värin voimakkuutta
# Change intensity ggplot(mtcars, aes(factor(cyl))) + geom_bar(fill = "coral", alpha = 0.5) + theme_classic()
Koodin selitys
- Voit lisätä/vähentää palkin voimakkuutta muuttamalla alfan arvoa. Suuri alfa lisää intensiteettiä ja pieni alfa vähentää intensiteettiä. alfa vaihtelee välillä 0 - 1. Jos 1, niin väri on sama kuin paletissa. Jos 0, väri on valkoinen. Valitset alfa = 0.1.
lähtö:
Väri ryhmittäin
Voit muuttaa palkkien värejä, mikä tarkoittaa yhtä eri väriä jokaiselle ryhmälle. Esimerkiksi cyl-muuttujalla on kolme tasoa, jolloin voit piirtää pylväskaavion kolmella värillä.
# Color by group ggplot(mtcars, aes(factor(cyl), fill = factor(cyl))) + geom_bar()
Koodin selitys
- Argumentin täyttö aes():n sisällä mahdollistaa palkin värin muuttamisen. Voit muuttaa väriä asettamalla täyttö = x-akselin muuttuja. Esimerkissäsi x-akselin muuttuja on cyl; täyttö = kerroin (syl.)
lähtö:
Lisää ryhmä palkkeihin
Voit jakaa y-akselin edelleen toisen tekijätason perusteella. Voit esimerkiksi laskea automaatti- ja manuaalivaihteiston lukumäärän sylinterityypin perusteella.
Toimit seuraavasti:
- Vaihe 1: Luo tietokehys mtcars-tietojoukolla
- Vaihe 2: Merkitse am-muuttuja merkinnällä auto automaattivaihteistolle ja man manuaalivaihteistolle. Muunna am ja cyl tekijöiksi, jotta sinun ei tarvitse käyttää factor()-funktiota ggplot()-funktiossa.
- Vaihe 3: Piirrä pylväskaavio laskeaksesi vaihteiston lukumäärä sylintereissä
library(dplyr) # Step 1 data <- mtcars % > % #Step 2 mutate(am = factor(am, labels = c("auto", "man")), cyl = factor(cyl))
Sinulla on tietojoukko valmiina, voit piirtää kaavion;
# Vaihe 3
ggplot(data, aes(x = cyl, fill = am)) + geom_bar() + theme_classic()
Koodin selitys
- Ggpplot() sisältää tietojoukon tiedot ja aes().
- Aes()-kenttään sisällytät muuttujan x-akseli ja sen, mikä muuttuja vaaditaan palkin täyttämiseen (eli am)
- geom_bar(): Luo pylväskaavio
lähtö:
Kartta täyttää palkin kahdella värillä, yhdellä kullekin tasolle. Ryhmän vaihtaminen on vaivatonta valitsemalla tietojoukosta muita tekijämuuttujia.
Pylväskaavio prosentteina
Voit visualisoida palkin prosentteina raakaluvun sijaan.
# Pylväskaavio prosentteina
ggplot(data, aes(x = cyl, fill = am)) + geom_bar(position = "fill") + theme_classic()
Koodin selitys
- Käytä sijainti = "fill" geom_bar()-argumentissa luodaksesi grafiikan y-akselilla prosentteina.
lähtö:
Vierekkäiset palkit
Pylväskaavio on helppo piirtää ryhmämuuttujan vierekkäin.
# Bar chart side by side ggplot(data, aes(x = cyl, fill = am)) + geom_bar(position = position_dodge()) + theme_classic()
Koodin selitys
- position=position_dodge(): Kertoo selkeästi, kuinka palkit järjestetään
lähtö:
histogrammi
Pylväskaavion opetusohjelman toisessa osassa voit edustaa muuttujien ryhmää y-akselin arvoilla.
Tavoitteenasi on luoda kaavio, jossa on kunkin sylinterityypin keskimääräinen mailia gallonaa kohden. Voit piirtää informatiivisen kaavion seuraavasti:
- Vaihe 1: Luo uusi muuttuja keskimääräisellä maililla gallonaa kohden sylinterikohtaisesti
- Vaihe 2: Luo perushistogrammi
- Vaihe 3: Muuta suuntaa
- Vaihe 4: Vaihda väriä
- Vaihe 5: Muuta kokoa
- Vaihe 6: Lisää kaavioon tunnisteita
Vaihe 1) Luo uusi muuttuja
Luot datakehyksen nimeltä data_histogram, joka yksinkertaisesti palauttaa keskimääräiset mailit gallonaa kohti auton sylinterien lukumäärän perusteella. Kutsut tätä uutta muuttujaa mean_mpg ja pyöristät keskiarvon kahdella desimaalilla.
# Vaihe 1
data_histogram <- mtcars % > % mutate(cyl = factor(cyl)) % > % group_by(cyl) % > % summarize(mean_mpg = round(mean(mpg), 2))
Vaihe 2) Luo perushistogrammi
Voit piirtää histogrammin. Se ei ole valmis kommunikoimaan toimitettavaksi asiakkaalle, mutta antaa meille intuition trendistä.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) + geom_bar(stat = "identity")
Koodin selitys
- Aes() sisältää nyt kaksi muuttujaa. Cyl-muuttuja viittaa x-akseliin ja mean_mpg on y-akseli.
- Sinun on välitettävä argumentti stat=”identity”, jotta voit viitata y-akselin muuttujaan numeerisena arvona. geom_bar käyttää stat=”bin” oletusarvona.
lähtö:
Vaihe 3) Muuta suuntaa
Voit muuttaa kaavion suunnan pystysuorasta vaakasuoraan.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) + geom_bar(stat = "identity") + coord_flip()
Koodin selitys
- Voit ohjata graafin suuntaa komennolla coord_flip().
lähtö:
Vaihe 4) Vaihda väriä
Voit erottaa palkkien värit x-akselin muuttujan tekijätason mukaan.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) + geom_bar(stat = "identity") + coord_flip() + theme_classic()
Koodin selitys
- Voit piirtää kaavion ryhmittäin fill=cyl -kuvauksella. R huolehtii automaattisesti väreistä cyl-muuttujan tasojen perusteella
lähtö:
Vaihe 5) Muuta kokoa
Jotta kaavio näyttää kauniimmalta, pienennät palkin leveyttä.
graph <- ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) + geom_bar(stat = "identity", width = 0.5) + coord_flip() + theme_classic()
Koodin selitys
- Geom_bar():n sisällä oleva leveysargumentti ohjaa palkin kokoa. Suurempi arvo lisää leveyttä.
- Huomaa, että tallennat kaavion muuttujakaavioon. Teet niin, koska seuraava vaihe ei muuta muuttujakaavion koodia. Se parantaa koodin luettavuutta.
lähtö:
Vaihe 6) Lisää kaavioon tunnisteita
Viimeinen vaihe koostuu muuttujan mean_mpg arvon lisäämisestä tarraan.
graph + geom_text(aes(label = mean_mpg), hjust = 1.5, color = "white", size = 3) + theme_classic()
Koodin selitys
- Funktio geom_text() on hyödyllinen ohjaamaan tekstin estetiikkaa.
- label=: Lisää tarra palkkeihin
- mean_mpg: Käytä muuttujaa mean_mpg tunnisteena
- hvain ohjaa tarran sijaintia. Arvot, jotka on suljettu 1:een, näyttävät tunnisteen palkin yläosassa, ja korkeammat arvot tuovat tunnisteen alareunaan. Jos kaavion suunta on pystysuora, muuta hjust arvoksi vjust.
- color=”white”: Muuta tekstin väriä. Tässä käytät valkoista väriä.
- koko=3: Aseta tekstin koko.
lähtö:
Yhteenveto
Pylväskaavio on hyödyllinen, kun x-akseli on kategorinen muuttuja. Y-akseli voi olla joko laskenta tai yhteenvetotilasto. Alla olevassa taulukossa on yhteenveto pylväskaavion ohjaamisesta ggplot2:lla:
Tavoite | Koodi |
---|---|
Laskea |
ggplot(df, eas(x= factor(x1)) + geom_bar() |
Laske eri värisillä täytteillä |
ggplot(df, eas(x= factor(x1), fill = factor(x1))) + geom_bar() |
Laske ryhmien kanssa, pinottu |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge()) |
Laske ryhmien kanssa vierekkäin |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar() |
Laske ryhmien kanssa, pinottu % |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge()) |
arvot |
ggplot(df, eas(x= factor(x1)+ y = x2) + geom_bar(stat="identity") |