Stĺpcový graf je skvelý spôsob, ako zobraziť kategorické premenné v osi x. Tento typ grafu označuje dva aspekty v osi y.
- Prvá počíta počet výskytov medzi skupinami.
- Druhá ukazuje súhrnnú štatistiku (min., Max., Priemer atď.) Premennej v osi y.
Použijete datovú sadu mtcars s nasledujúcimi premennými:
- cyl: Číslo valca v automobile. Numerická premenná
- am: Typ prenosu. 0 pre automatické a 1 pre manuálne. Numerická premenná
- mpg: Míle na galón. Numerická premenná
V tomto návode sa naučíte
- Ako vytvoriť stĺpcový graf
- Zmeňte farbu pruhov
- Zmeňte intenzitu
- Vyfarbite podľa skupín
- Pridajte skupinu do pruhov
- Stĺpcový graf v percentách
- Vedľa seba pruhy
- Histogram
Ako vytvoriť stĺpcový graf
Na vytvorenie grafu v R môžete použiť knižnicu ggplot, ktorá vytvára grafy pripravené na publikáciu. Základná syntax tejto knižnice je:
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()`
V tomto tutoriáli vás zaujíma geometrický objekt geom_bar (), ktorý vytvára stĺpcový graf.
Stĺpcový graf: počet
Váš prvý graf zobrazuje frekvenciu valcov s funkciou geom_bar (). Kód uvedený nižšie je najzákladnejšou syntaxou.
library(ggplot2)# Most basic bar chartggplot(mtcars, aes(x = factor(cyl))) +geom_bar()
Vysvetlenie kódu
- Dátovú množinu mtcars odovzdáte ggplot.
- Vo vnútri argumentu aes () pridáte os x ako premennú faktora (cyl)
- Znamienko + znamená, že chcete, aby kód R naďalej čítal. Zvyšuje čitateľnosť kódu jeho rozbitím.
- Použite geom_bar () pre geometrický objekt.
Výkon:
Poznámka : nezabudnite premeniť premenné na faktor, inak R zaobchádza s premennými ako s číselnými. Pozri príklad nižšie.
Prispôsobte si graf
Na prispôsobenie grafu je možné predložiť štyri argumenty:
- `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
Zmeňte farbu pruhov
Môžete zmeniť farbu pruhov. Upozorňujeme, že farby pruhov sú podobné.
# Change the color of the barsggplot(mtcars, aes(x = factor(cyl))) +geom_bar(fill = "coral") +theme_classic()
Vysvetlenie kódu
- Farby pruhov sú riadené mapovaním aes () vo vnútri geometrického objektu (tj. Nie v ggplot ()). Farbu môžete zmeniť pomocou argumentov výplne. Tu si vyberiete koralovú farbu.
Výkon:
Môžete použiť tento kód:
grDevices::colors()
pre zobrazenie všetkých farieb dostupných v R. Existuje okolo 650 farieb.
Zmeňte intenzitu
Môžete zvýšiť alebo znížiť intenzitu farby pruhov
# Change intensityggplot(mtcars,aes(factor(cyl))) +geom_bar(fill = "coral",alpha = 0.5) +theme_classic()
Vysvetlenie kódu
- Ak chcete zvýšiť / znížiť intenzitu pruhu, môžete zmeniť hodnotu alfa. Veľká alfa zvyšuje intenzitu a nízka alfa znižuje intenzitu. alfa sa pohybuje od 0 do 1. Ak je 1, potom je farba rovnaká ako paleta. Ak je 0, farba je biela. Zvolíte alfa = 0,1.
Výkon:
Vyfarbite podľa skupín
Môžete zmeniť farby pruhov, čo pre každú skupinu znamená jednu inú farbu. Napríklad premenná cyl má tri úrovne, potom môžete stĺpcový graf vykresliť tromi farbami.
# Color by groupggplot(mtcars, aes(factor(cyl),fill = factor(cyl))) +geom_bar()
Vysvetlenie kódu
- Výplň argumentov vo vnútri aes () umožňuje meniť farbu pruhu. Farbu zmeníte nastavením výplne = premenná osi x. Vo vašom príklade je premenná osi x cyl; fill = factor (cyl)
Výkon:
Pridajte skupinu do pruhov
Ďalej môžete rozdeliť os y na základe inej úrovne faktora. Napríklad podľa typu valca môžete spočítať počet automatických a manuálnych prevodoviek.
Budete postupovať nasledovne:
- Krok 1: Vytvorte dátový rámec s množinou údajov mtcars
- Krok 2: Označte premennú am ako auto pre automatickú prevodovku a man pre manuálnu prevodovku. Konvertujte am a cyl ako faktor, aby ste vo funkcii ggplot () nemuseli používať faktor ().
- Krok 3: Vykreslite stĺpcový graf a spočítajte počet prevodov podľa valca
library(dplyr)# Step 1data <- mtcars % > %#Step 2mutate(am = factor(am, labels = c("auto", "man")),cyl = factor(cyl))
Máte pripravený súbor údajov, môžete vykresliť graf;
# Krok 3
ggplot(data, aes(x = cyl, fill = am)) +geom_bar() +theme_classic()
Vysvetlenie kódu
- Ggpplot () obsahuje údaje množiny údajov a aes ().
- V aes () zahrniete premennú os x a ktorá premenná sa vyžaduje na vyplnenie pruhu (tj. Am)
- geom_bar (): Vytvorte stĺpcový graf
Výkon:
Mapovanie vyplní panel dvoma farbami, jednou pre každú úroveň. Je ľahké zmeniť skupinu výberom ďalších premenných faktorov v množine údajov.
Stĺpcový graf v percentách
Lištu môžete zobraziť v percentách namiesto surového počtu.
# Stĺpcový graf v percentách
ggplot(data, aes(x = cyl, fill = am)) +geom_bar(position = "fill") +theme_classic()
Vysvetlenie kódu
- Použite position = "fill" v argumente geom_bar () na vytvorenie grafiky s percentom v osi y.
Výkon:
Vedľa seba pruhy
Je ľahké vykresliť stĺpcový graf so skupinovou premennou vedľa seba.
# Bar chart side by sideggplot(data, aes(x = cyl, fill = am)) +geom_bar(position = position_dodge()) +theme_classic()
Vysvetlenie kódu
- position = position_dodge (): Výslovne hovorí, ako usporiadať pruhy
Výkon:
Histogram
V druhej časti výučby stĺpcového grafu môžete reprezentovať skupinu premenných s hodnotami na osi y.
Vaším cieľom je vytvoriť graf s priemernou míľou na galón pre každý typ valca. Ak chcete nakresliť informatívny graf, postupujte podľa týchto krokov:
- Krok 1: Vytvorte novú premennú s priemernou míľou na galón podľa valca
- Krok 2: Vytvorte základný histogram
- Krok 3: Zmeňte orientáciu
- Krok 4: Zmeňte farbu
- Krok 5: Zmeňte veľkosť
- Krok 6: Pridajte do grafu štítky
Krok 1) Vytvorte novú premennú
Vytvoríte dátový rámec s názvom data_histogram, ktorý jednoducho vráti priemerné míle na galón podľa počtu valcov v automobile. Zavoláte túto novú premennú mean_mpg a priemer zaokrúhlite na dve desatinné miesta.
# Krok 1
data_histogram <- mtcars % > %mutate(cyl = factor(cyl)) % > %group_by(cyl) % > %summarize(mean_mpg = round(mean(mpg), 2))
Krok 2) Vytvorte základný histogram
Môžete vykresliť histogram. Nie je pripravená komunikovať, aby bola doručená klientovi, ale dáva nám intuíciu o tomto trende.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +geom_bar(stat = "identity")
Vysvetlenie kódu
- Aes () má teraz dve premenné. Premenná cyl odkazuje na os x a mean_mpg je os y.
- Ak chcete premennú v osi y označiť ako číselnú hodnotu, musíte zadať argument stat = "identity". geom_bar používa ako predvolenú hodnotu stat = "bin".
Výkon:
Krok 3) Zmeňte orientáciu
Orientáciu grafu zmeníte zo zvislej na vodorovnú.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +geom_bar(stat = "identity") +coord_flip()
Vysvetlenie kódu
- Orientáciu grafu môžete ovládať pomocou funkcie coord_flip ().
Výkon:
Krok 4) Zmeňte farbu
Farby pruhov môžete rozlišovať podľa úrovne faktora premennej osi x.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +geom_bar(stat = "identity") +coord_flip() +theme_classic()
Vysvetlenie kódu
- Graf môžete vykresliť do skupín pomocou mapovania fill = cyl. R sa automaticky stará o farby na základe úrovní premennej cyl
Výkon:
Krok 5) Zmeňte veľkosť
Ak chcete, aby bol graf krajší, zmenšíte šírku pruhu.
graph <- ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +geom_bar(stat = "identity",width = 0.5) +coord_flip() +theme_classic()
Vysvetlenie kódu
- Argument width vo funkcii geom_bar () riadi veľkosť pruhu. Väčšia hodnota zväčšuje šírku.
- Upozorňujeme, že graf ste uložili do variabilného grafu. Urobíte tak preto, lebo nasledujúci krok nezmení kód premenného grafu. Zlepšuje čitateľnosť kódu.
Výkon:
Krok 6) Pridajte do grafu štítky
Posledný krok spočíva v pridaní hodnoty premennej mean_mpg do štítka.
graph +geom_text(aes(label = mean_mpg),hjust = 1.5,color = "white",size = 3) +theme_classic()
Vysvetlenie kódu
- Funkcia geom_text () je užitočná na ovládanie estetiky textu.
- label =: Pridajte štítok do pruhov
- mean_mpg: pre štítok použite premennú mean_mpg
- hjust ovláda umiestnenie štítku. Hodnoty uzavreté k 1 zobrazia štítok v hornej časti panela a vyššie hodnoty štítok dolu. Ak je orientácia grafu zvislá, zmeňte nastavenie hjust na vjust.
- color = "white": Zmena farby textu. Tu použijete bielu farbu.
- size = 3: Nastaví veľkosť textu.
Výkon:
Zhrnutie
Stĺpcový graf je užitočný, keď je os x kategorickou premennou. Osa y môže byť buď štatistika počtu alebo súhrnná štatistika. V nasledujúcej tabuľke je zhrnuté, ako ovládať stĺpcový graf pomocou nástroja ggplot2:
Cieľ |
kód |
---|---|
Gróf |
ggplot(df, eas(x= factor(x1)) + geom_bar() |
Počítajte s inou farbou výplne |
ggplot(df, eas(x= factor(x1), fill = factor(x1))) + geom_bar() |
Počítajte so skupinami, naskladané |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge()) |
Počítajte so skupinami, vedľa seba |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar() |
Počítajte so skupinami, zoradené v% |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge()) |
Hodnoty |
ggplot(df, eas(x= factor(x1)+ y = x2) + geom_bar(stat="identity") |