Sloupcový graf je skvělý způsob, jak zobrazit kategorické proměnné v ose x. Tento typ grafu označuje dva aspekty v ose y.
- První počítá počet výskytů mezi skupinami.
- Druhý ukazuje souhrnnou statistiku (min, max, průměr atd.) Proměnné v ose y.
Budete používat datovou sadu mtcars s následujícími proměnnými:
- cyl: Číslo válce v autě. Numerická proměnná
- am: Typ přenosu. 0 pro automatické a 1 pro manuální. Numerická proměnná
- mpg: Míle na galon. Numerická proměnná
V tomto výukovém programu se naučíte
- Jak vytvořit sloupcový graf
- Změňte barvu pruhů
- Změňte intenzitu
- Vybarvit podle skupin
- Přidejte skupinu do pruhů
- Sloupcový graf v procentech
- Vedle sebe pruhy
- Histogram
Jak vytvořit sloupcový graf
Chcete-li vytvořit graf v R, můžete použít knihovnu ggplot, která vytváří grafy připravené k publikaci. Základní syntaxe této knihovny 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 kurzu vás zajímá geometrický objekt geom_bar (), který vytváří sloupcový graf.
Sloupcový graf: počet
Váš první graf ukazuje frekvenci cylindru s geom_bar (). Níže uvedený kód je nejzákladnější syntaxí.
library(ggplot2)# Most basic bar chartggplot(mtcars, aes(x = factor(cyl))) +geom_bar()
Vysvětlení kódu
- Předáte datovou sadu mtcars ggplot.
- Uvnitř argumentu aes () přidáte osu x jako proměnnou faktoru (cyl)
- Znaménko + znamená, že chcete, aby kód R pokračoval ve čtení. Díky čitelnosti je kód čitelnější.
- Pro geometrický objekt použijte geom_bar ().
Výstup:
Poznámka : nezapomeňte převést proměnné na faktor, jinak R bude s proměnnými zacházet jako s číselnými. Viz příklad níže.
Přizpůsobte graf
K přizpůsobení grafu lze předat čtyři 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
Změňte barvu pruhů
Můžete změnit barvu pruhů. Všimněte si, že barvy pruhů jsou podobné.
# Change the color of the barsggplot(mtcars, aes(x = factor(cyl))) +geom_bar(fill = "coral") +theme_classic()
Vysvětlení kódu
- Barvy pruhů jsou řízeny mapováním aes () uvnitř geometrického objektu (tj. Ne v ggplot ()). Barvu můžete změnit pomocí argumentů výplně. Zde si vyberete korálovou barvu.
Výstup:
Můžete použít tento kód:
grDevices::colors()
zobrazit všechny barvy dostupné v R. Existuje asi 650 barev.
Změňte intenzitu
Můžete zvýšit nebo snížit intenzitu barvy pruhů
# Change intensityggplot(mtcars,aes(factor(cyl))) +geom_bar(fill = "coral",alpha = 0.5) +theme_classic()
Vysvětlení kódu
- Chcete-li zvýšit / snížit intenzitu pruhu, můžete změnit hodnotu alfa. Velká alfa zvyšuje intenzitu a nízká alfa snižuje intenzitu. alfa se pohybuje od 0 do 1. Pokud 1, pak je barva stejná jako paleta. Pokud je 0, barva je bílá. Vyberete alfa = 0,1.
Výstup:
Vybarvit podle skupin
Můžete změnit barvy pruhů, což znamená pro každou skupinu jednu jinou barvu. Například proměnná cyl má tři úrovně, poté můžete pruhový graf vykreslit třemi barvami.
# Color by groupggplot(mtcars, aes(factor(cyl),fill = factor(cyl))) +geom_bar()
Vysvětlení kódu
- Výplň argumentů uvnitř aes () umožňuje změnit barvu pruhu. Barvu změníte nastavením výplně = proměnná osy x. Ve vašem příkladu je proměnná osy x cyl; fill = factor (cyl)
Výstup:
Přidejte skupinu do pruhů
Osu y můžete dále rozdělit na základě jiné úrovně faktoru. Můžete například spočítat počet automatických a manuálních převodovek podle typu válců.
Budete postupovat následovně:
- Krok 1: Vytvořte datový rámec s datovou sadou mtcars
- Krok 2: Označte proměnnou am automatickým pro automatickou převodovku a man pro manuální převodovku. Převádějte am a cyl jako faktor, takže ve funkci ggplot () nemusíte používat factor ().
- Krok 3: Nakreslete sloupcový graf a spočítejte počet přenosů podle válce
library(dplyr)# Step 1data <- mtcars % > %#Step 2mutate(am = factor(am, labels = c("auto", "man")),cyl = factor(cyl))
Máte připravenou datovou sadu, můžete vykreslit graf;
# Krok 3
ggplot(data, aes(x = cyl, fill = am)) +geom_bar() +theme_classic()
Vysvětlení kódu
- Ggpplot () obsahuje data datové sady a aes ().
- V aes () zahrnete proměnnou osu x a to, která proměnná je nutná k vyplnění pruhu (tj. Jsem)
- geom_bar (): Vytvoří sloupcový graf
Výstup:
Mapování vyplní lištu dvěma barvami, jednou pro každou úroveň. Je snadné změnit skupinu výběrem dalších proměnných faktorů v datové sadě.
Sloupcový graf v procentech
Lištu můžete zobrazit v procentech místo hrubého počtu.
# Sloupcový graf v procentech
ggplot(data, aes(x = cyl, fill = am)) +geom_bar(position = "fill") +theme_classic()
Vysvětlení kódu
- Pomocí position = "fill" v argumentu geom_bar () vytvořte grafiku s procentem v ose y.
Výstup:
Vedle sebe pruhy
Je snadné vykreslit sloupcový graf se skupinovou proměnnou vedle sebe.
# Bar chart side by sideggplot(data, aes(x = cyl, fill = am)) +geom_bar(position = position_dodge()) +theme_classic()
Vysvětlení kódu
- position = position_dodge (): Výslovně říká, jak uspořádat pruhy
Výstup:
Histogram
Ve druhé části kurzu sloupcového grafu můžete představovat skupinu proměnných s hodnotami v ose y.
Vaším cílem je vytvořit graf s průměrnou mílí na galon pro každý typ válce. Chcete-li nakreslit informativní graf, postupujte takto:
- Krok 1: Vytvořte novou proměnnou s průměrnou mílí na galon podle válce
- Krok 2: Vytvořte základní histogram
- Krok 3: Změňte orientaci
- Krok 4: Změňte barvu
- Krok 5: Změňte velikost
- Krok 6: Přidejte do grafu štítky
Krok 1) Vytvořte novou proměnnou
Vytvoříte datový rámec s názvem data_histogram, který jednoduše vrátí průměrné míle na galon podle počtu válců ve voze. Zavoláte tuto novou proměnnou mean_mpg a zaokrouhlíte průměr o dvě desetinná místa.
# Krok 1
data_histogram <- mtcars % > %mutate(cyl = factor(cyl)) % > %group_by(cyl) % > %summarize(mean_mpg = round(mean(mpg), 2))
Krok 2) Vytvořte základní histogram
Histogram můžete vykreslit. Není připraveno komunikovat, aby bylo doručeno klientovi, ale dává nám intuici o trendu.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +geom_bar(stat = "identity")
Vysvětlení kódu
- Aes () má nyní dvě proměnné. Proměnná cyl odkazuje na osu xa mean_mpg je osa y.
- Chcete-li proměnnou v ose y označit jako číselnou hodnotu, musíte předat argument stat = "identity". geom_bar používá stat = "bin" jako výchozí hodnotu.
Výstup:
Krok 3) Změňte orientaci
Změníte orientaci grafu ze svislé na vodorovnou.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +geom_bar(stat = "identity") +coord_flip()
Vysvětlení kódu
- Orientaci grafu můžete ovládat pomocí funkce coord_flip ().
Výstup:
Krok 4) Změňte barvu
Barvy pruhů můžete rozlišovat podle úrovně faktoru proměnné osy x.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +geom_bar(stat = "identity") +coord_flip() +theme_classic()
Vysvětlení kódu
- Graf můžete vykreslit do skupin pomocí mapování fill = cyl. R se automaticky stará o barvy na základě úrovní proměnné cyl
Výstup:
Krok 5) Změňte velikost
Chcete-li, aby graf vypadal hezčí, zmenšíte šířku pruhu.
graph <- ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +geom_bar(stat = "identity",width = 0.5) +coord_flip() +theme_classic()
Vysvětlení kódu
- Argument width uvnitř geom_bar () řídí velikost pruhu. Větší hodnota zvětší šířku.
- Všimněte si, že graf uložíte do proměnného grafu. Učiníte tak proto, že další krok nezmění kód proměnného grafu. Zlepšuje čitelnost kódu.
Výstup:
Krok 6) Přidejte do grafu štítky
Posledním krokem je přidání hodnoty proměnné mean_mpg do štítku.
graph +geom_text(aes(label = mean_mpg),hjust = 1.5,color = "white",size = 3) +theme_classic()
Vysvětlení kódu
- Funkce geom_text () je užitečná k ovládání estetiky textu.
- label =: Přidejte štítek do pruhů
- mean_mpg: Použijte proměnnou mean_mpg pro štítek
- hjust ovládá umístění štítku. Hodnoty uzavřené na 1 zobrazují štítek v horní části pruhu a vyšší hodnoty přinášejí štítek dole. Pokud je orientace grafu svislá, změňte hjust na vjust.
- color = "white": Změní barvu textu. Zde použijete bílou barvu.
- size = 3: Nastaví velikost textu.
Výstup:
souhrn
Sloupcový graf je užitečný, když je osa x kategorickou proměnnou. Osa y může být buď statistika počtu nebo souhrnná statistika. Níže uvedená tabulka shrnuje, jak ovládat sloupcový graf pomocí ggplot2:
Objektivní |
kód |
---|---|
Počet |
ggplot(df, eas(x= factor(x1)) + geom_bar() |
Počítejte s jinou barvou výplně |
ggplot(df, eas(x= factor(x1), fill = factor(x1))) + geom_bar() |
Počítejte se skupinami, skládanými |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge()) |
Počítejte se skupinami, vedle sebe |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar() |
Počítat se skupinami, skládané 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") |