Juostinė diagrama yra puikus būdas parodyti kategorinius kintamuosius x ašyje. Šio tipo grafikai žymi du y ašies aspektus.
- Pirmasis skaičiuoja įvykių tarp grupių skaičių.
- Antrasis rodo y ašies kintamojo suvestinę statistiką (min., Maks., Vidurkis ir pan.).
Naudosite „mtcars“ duomenų rinkinį su šiais kintamaisiais:
- cilindras: automobilio cilindro numeris. Skaitmeninis kintamasis
- am: perdavimo tipas. 0 automatiniam ir 1 rankiniam. Skaitmeninis kintamasis
- mpg: mylios už galoną. Skaitmeninis kintamasis
Šioje pamokoje sužinosite
- Kaip sukurti juostinę diagramą
- Pakeiskite juostų spalvą
- Pakeiskite intensyvumą
- Spalva pagal grupes
- Pridėkite grupę juostose
- Juostinė diagrama procentais
- Šoninės juostos
- Histograma
Kaip sukurti juostinę diagramą
Norėdami sukurti grafiką R, galite naudoti biblioteką „ggplot“, kuri sukuria paruoštus paskelbti grafikus. Pagrindinė šios bibliotekos sintaksė yra:
ggplot(data, mapping = aes()) +geometric objectarguments:data: dataset used to plot the graphmapping: Control the x and y-axisgeometric 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()`
Šioje pamokoje jus domina geometrinis objektas geom_bar (), sukuriantis juostų diagramą.
Juostinė diagrama: skaičius
Pirmajame diagramoje rodomas cilindro su geom_bar () dažnis. Žemiau pateiktas kodas yra pati pagrindinė sintaksė.
library(ggplot2)# Most basic bar chartggplot(mtcars, aes(x = factor(cyl))) +geom_bar()
Kodo paaiškinimas
- Duomenų rinkinį „mtcars“ perduodate „ggplot“.
- Argumento „aes“ () viduje pridedate x ašį kaip veiksnio kintamąjį (cilindrą)
- „+“ Ženklas reiškia, kad norite, kad R toliau skaitytų kodą. Tai daro kodą lengviau įskaitomą jį sulaužius.
- Geometriniam objektui naudokite geom_bar ().
Išvestis:
Pastaba : būtinai konvertuokite kintamuosius į koeficientą, kitaip R kintamuosius traktuoja kaip skaitmeninius. Žr. Toliau pateiktą pavyzdį.
Tinkinkite diagramą
Norėdami pritaikyti grafiką, galima pateikti keturis argumentus:
- `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
Pakeiskite juostų spalvą
Galite pakeisti juostų spalvą. Atkreipkite dėmesį, kad juostų spalvos yra visos panašios.
# Change the color of the barsggplot(mtcars, aes(x = factor(cyl))) +geom_bar(fill = "coral") +theme_classic()
Kodo paaiškinimas
- Juostų spalvas kontroliuoja aes (), atvaizduojančios geometrinį objektą (ty ne ggplot ()). Spalvą galite pakeisti užpildydami argumentus. Čia jūs pasirenkate koralų spalvą.
Išvestis:
Galite naudoti šį kodą:
grDevices::colors()
norėdami pamatyti visas R spalvos spalvas. Yra apie 650 spalvų.
Pakeiskite intensyvumą
Galite padidinti arba sumažinti juostų spalvos intensyvumą
# Change intensityggplot(mtcars,aes(factor(cyl))) +geom_bar(fill = "coral",alpha = 0.5) +theme_classic()
Kodo paaiškinimas
- Norėdami padidinti / sumažinti juostos intensyvumą, galite pakeisti alfa reikšmę. Didelė alfa padidina intensyvumą, o maža alfa sumažina intensyvumą. alfa svyruoja nuo 0 iki 1. Jei 1, tada spalva yra tokia pati kaip paletės. Jei 0, spalva yra balta. Jūs pasirenkate alfa = 0,1.
Išvestis:
Spalva pagal grupes
Galite pakeisti juostų spalvas, kiekvienai grupei nurodydami po vieną skirtingą spalvą. Pavyzdžiui, cilindras kintamasis turi tris lygius, tada juostinę diagramą galite brėžti trimis spalvomis.
# Color by groupggplot(mtcars, aes(factor(cyl),fill = factor(cyl))) +geom_bar()
Kodo paaiškinimas
- Argumento užpildymas aes () viduje leidžia pakeisti juostos spalvą. Spalvą keičiate nustatydami užpildo = x ašies kintamąjį. Jūsų pavyzdyje x ašies kintamasis yra cyl; užpildyti = koeficientas (cilindrai)
Išvestis:
Pridėkite grupę juostose
Galite dar padalyti y ašį pagal kitą veiksnio lygį. Pavyzdžiui, galite suskaičiuoti automatinės ir rankinės pavarų dėžės skaičių pagal cilindro tipą.
Jūs elgsitės taip:
- 1 žingsnis: Sukurkite duomenų rėmą naudodami „mtcars“ duomenų rinkinį
- 2 žingsnis: Pažymėkite kintamojo am kintiklį su automatine pavarų dėže ir žmogumi rankine pavarų dėže. Konvertuokite am ir cyl kaip koeficientą, kad nereikėtų naudoti koeficiento () funkcijoje ggplot ().
- 3 žingsnis: Nubraižykite juostinę diagramą, kad suskaičiuotumėte perdavimo skaičių pagal cilindrą
library(dplyr)# Step 1data <- mtcars % > %#Step 2mutate(am = factor(am, labels = c("auto", "man")),cyl = factor(cyl))
Turite parengtą duomenų rinkinį, galite suskaičiuoti grafiką;
# 3 žingsnis
ggplot(data, aes(x = cyl, fill = am)) +geom_bar() +theme_classic()
Kodo paaiškinimas
- „Ggpplot“ () yra duomenų rinkinio duomenys ir „aes“ ().
- Į aes () įtraukiate kintamąją x ašį ir kintamąjį, kuris reikalingas juostai užpildyti (ty am)
- geom_bar (): sukurkite juostinę diagramą
Išvestis:
Atvaizdavimas užpildys juostą dviem spalvomis, po vieną kiekvienam lygiui. Rinktis kitus veiksnių kintamuosius duomenų rinkinyje nėra lengva.
Juostinė diagrama procentais
Galite vaizduoti juostą procentais, o ne neapdorotą skaičių.
# Juostinė diagrama procentais
ggplot(data, aes(x = cyl, fill = am)) +geom_bar(position = "fill") +theme_classic()
Kodo paaiškinimas
- Norėdami sukurti grafiką su procentine y ašimi, naudokite argumentą „geom_bar ()“ = = užpildyti.
Išvestis:
Šoninės juostos
Juostinę diagramą lengva brėžti kartu su grupės kintamuoju.
# Bar chart side by sideggplot(data, aes(x = cyl, fill = am)) +geom_bar(position = position_dodge()) +theme_classic()
Kodo paaiškinimas
- position = position_dodge (): aiškiai nurodoma, kaip išdėstyti juostas
Išvestis:
Histograma
Antroje juostinių diagramų mokymo programos dalyje galite pavaizduoti kintamųjų grupę su y ašies vertėmis.
Jūsų tikslas yra sukurti grafiką su vidutine mylia vienam galonui kiekvienam cilindro tipui. Norėdami piešti informacinį grafiką, atlikite šiuos veiksmus:
- 1 žingsnis: sukurkite naują kintamąjį, kurio cilindro vidurkis yra viena mylia už galoną
- 2 žingsnis: sukurkite pagrindinę histogramą
- 3 žingsnis: pakeiskite orientaciją
- 4 žingsnis: pakeiskite spalvą
- 5 žingsnis: Pakeiskite dydį
- 6 žingsnis: pridėkite etiketes prie diagramos
1 žingsnis) Sukurkite naują kintamąjį
Sukuriate duomenų rėmelį, pavadintą data_histogram, kuris paprasčiausiai pateikia vidutinius mylių už galoną pagal automobilio cilindrų skaičių. Šį naują kintamąjį vadinate mean_mpg, o vidurkį suapvalinate dviem skaičiais po kablelio.
# 1 žingsnis
data_histogram <- mtcars % > %mutate(cyl = factor(cyl)) % > %group_by(cyl) % > %summarize(mean_mpg = round(mean(mpg), 2))
2 žingsnis) Sukurkite pagrindinę histogramą
Galite susikurti histogramą. Jis nėra pasirengęs bendrauti, kad būtų pristatytas klientui, tačiau suteikia mums intuiciją apie tendenciją.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +geom_bar(stat = "identity")
Kodo paaiškinimas
- Aes () dabar turi du kintamuosius. Kintamasis cilindras reiškia x ašį, o vidutinis_mpg yra y ašis.
- Norėdami perduoti y ašies kintamąjį skaitmenine verte, turite perduoti argumentą stat = "identity". geom_bar naudoja stat = "bin" kaip numatytąją vertę.
Išvestis:
3 žingsnis) Pakeiskite orientaciją
Grafiko orientaciją pakeisite iš vertikalios į horizontalią.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +geom_bar(stat = "identity") +coord_flip()
Kodo paaiškinimas
- Grafiko orientaciją galite valdyti naudodami „coord_flip“ ().
Išvestis:
4 žingsnis) Pakeiskite spalvą
Juostų spalvas galite atskirti pagal x ašies kintamojo faktoriaus lygį.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +geom_bar(stat = "identity") +coord_flip() +theme_classic()
Kodo paaiškinimas
- Grafiką galite suskirstyti pagal grupes naudodami fill = cyl atvaizdavimą. R automatiškai rūpinasi spalvomis, atsižvelgiant į cilindro kintamojo lygius
Išvestis:
5 žingsnis) Pakeiskite dydį
Kad diagrama atrodytų gražesnė, sumažinate juostos plotį.
graph <- ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +geom_bar(stat = "identity",width = 0.5) +coord_flip() +theme_classic()
Kodo paaiškinimas
- Geom_bar () viduje esantis argumentas „plotis“ valdo juostos dydį. Didesnė vertė padidina plotį.
- Atkreipkite dėmesį, kad grafiką saugote kintamųjų diagramoje. Taip darote, nes kitas žingsnis nepakeis kintamojo grafiko kodo. Tai pagerina kodo įskaitomumą.
Išvestis:
6 žingsnis) Pridėkite etikečių prie diagramos
Paskutinis žingsnis - kintamojo „mean_mpg“ vertės pridėjimas etiketėje.
graph +geom_text(aes(label = mean_mpg),hjust = 1.5,color = "white",size = 3) +theme_classic()
Kodo paaiškinimas
- Funkcija geom_text () yra naudinga teksto estetikai valdyti.
- label =: Įtraukite etiketę juostų viduje
- mean_mpg: Etiketėje naudokite kintamąjį mean_mpg
- „hjust“ kontroliuoja etiketės vietą. Uždarytos iki 1 vertės rodo etiketę juostos viršuje, o dėl didesnių reikšmių etiketė nukreipiama į apačią. Jei grafiko orientacija yra vertikali, pakeiskite „hjust“ į „just“.
- color = "white": pakeiskite teksto spalvą. Čia jūs naudojate baltą spalvą.
- size = 3: nustatykite teksto dydį.
Išvestis:
Santrauka
Juostinė diagrama yra naudinga, kai x ašis yra kategorinis kintamasis. Y ašis gali būti skaičiavimo arba suvestinės statistika. Žemiau esančioje lentelėje apibendrinama, kaip valdyti juostinę diagramą naudojant „ggplot2“:
Tikslas |
kodas |
---|---|
Grafas |
ggplot(df, eas(x= factor(x1)) + geom_bar() |
Skaičiuokite su skirtingos spalvos užpildu |
ggplot(df, eas(x= factor(x1), fill = factor(x1))) + geom_bar() |
Skaičiuokite grupėmis, sukrautas |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge()) |
Skaičiuokite grupėmis, vienas šalia kito |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar() |
Skaičius su grupėmis, sukrautas% |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge()) |
Vertybės |
ggplot(df, eas(x= factor(x1)+ y = x2) + geom_bar(stat="identity") |