Joslu diagramma ir lielisks veids, kā x asīs parādīt kategoriskus mainīgos. Šāda veida grafi apzīmē divus aspektus y asī.
- Pirmais saskaita notikumu skaitu starp grupām.
- Otrais parāda y ass ass mainīgā lieluma kopsavilkuma statistiku (min, max, vidējo un tā tālāk).
Jūs izmantosiet mtcars datu kopu ar šādiem mainīgajiem:
- cyl: automašīnas cilindra numurs. Skaitliskais mainīgais
- am: Pārraides veids. 0 automātiskai un 1 manuālai. Skaitliskais mainīgais
- mpg: jūdzes uz galonu. Skaitliskais mainīgais
Šajā apmācībā jūs uzzināsiet
- Kā izveidot joslu diagrammu
- Mainiet joslu krāsu
- Mainiet intensitāti
- Krāsa pēc grupām
- Pievienojiet grupu joslās
- Joslu diagramma procentos
- Blakus stieņiem
- Histogramma
Kā izveidot joslu diagrammu
Lai izveidotu grafiku R, varat izmantot bibliotēku ggplot, kas izveido publicēšanai gatavus grafikus. Šīs bibliotēkas sintakse ir šāda:
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()`
Šajā apmācībā jūs interesē ģeometriskais objekts geom_bar (), kas izveido joslu diagrammu.
Joslu diagramma: skaits
Jūsu pirmais grafiks parāda cilindra biežumu ar geom_bar (). Tālāk redzamais kods ir visvienkāršākā sintakse.
library(ggplot2)# Most basic bar chartggplot(mtcars, aes(x = factor(cyl))) +geom_bar()
Kods Paskaidrojums
- Jūs nododat datu kopu mtcars vietnei ggplot.
- Argumenta aes () iekšpusē jūs pievienojat x asi kā faktora mainīgo (cyl)
- Zīme + nozīmē, ka vēlaties, lai R turpina lasīt kodu. Tas padara kodu vieglāk lasāmu, to pārkāpjot.
- Ģeometriskajam objektam izmantojiet geom_bar ().
Izeja:
Piezīme . Pārliecinieties, ka mainīgos mainījāt faktorā, pretējā gadījumā R mainīgos uzskata par skaitliskiem. Skatiet piemēru zemāk.
Pielāgojiet diagrammu
Lai pielāgotu diagrammu, var nodot četrus 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
Mainiet joslu krāsu
Jūs varat mainīt joslu krāsu. Ņemiet vērā, ka joslu krāsas ir līdzīgas.
# Change the color of the barsggplot(mtcars, aes(x = factor(cyl))) +geom_bar(fill = "coral") +theme_classic()
Kods Paskaidrojums
- Joslu krāsas kontrolē aes () kartēšana ģeometriskā objekta iekšienē (ti, nav ggplot ()). Krāsu var mainīt ar aizpildīšanas argumentiem. Šeit jūs izvēlaties koraļļu krāsu.
Izeja:
Jūs varat izmantot šo kodu:
grDevices::colors()
lai redzētu visas R krāsas, kas pieejamas. Ir aptuveni 650 krāsas.
Mainiet intensitāti
Var palielināt vai samazināt joslu krāsas intensitāti
# Change intensityggplot(mtcars,aes(factor(cyl))) +geom_bar(fill = "coral",alpha = 0.5) +theme_classic()
Kods Paskaidrojums
- Lai palielinātu / samazinātu joslas intensitāti, varat mainīt alfa vērtību. Liela alfa palielina intensitāti, un zema alfa samazina intensitāti. alfa svārstās no 0 līdz 1. Ja 1, tad krāsa ir tāda pati kā palete. Ja 0, krāsa ir balta. Jūs izvēlaties alfa = 0.1.
Izeja:
Krāsa pēc grupām
Varat mainīt joslu krāsas, katrai grupai nozīmējot vienu atšķirīgu krāsu. Piemēram, cyl mainīgajam ir trīs līmeņi, tad joslu diagrammu varat uzzīmēt ar trim krāsām.
# Color by groupggplot(mtcars, aes(factor(cyl),fill = factor(cyl))) +geom_bar()
Kods Paskaidrojums
- Argumentu aizpildīšana aes () iekšpusē ļauj mainīt joslas krāsu. Jūs maināt krāsu, iestatot mainīgo = = ass ass. Jūsu piemērā x ass mainīgais ir cyl; aizpildīt = koeficients (cil)
Izeja:
Pievienojiet grupu joslās
Jūs varat vēl vairāk sadalīt y asi, pamatojoties uz citu faktora līmeni. Piemēram, jūs varat saskaitīt automātiskās un manuālās pārnesumkārbas skaitu, pamatojoties uz cilindra tipu.
Jūs rīkosieties šādi:
- 1. darbība: izveidojiet datu rāmi ar mtcars datu kopu
- 2. solis: iezīmējiet mainīgo am ar automātisko pārnesumkārbu un manuālo pārnesumkārbu. Konvertējiet am un cyl kā koeficientu, lai jums nebūtu jāizmanto koeficients () funkcijā ggplot ().
- 3. solis: uzzīmējiet joslu diagrammu, lai saskaitītu transmisijas skaitu pa cilindriem
library(dplyr)# Step 1data <- mtcars % > %#Step 2mutate(am = factor(am, labels = c("auto", "man")),cyl = factor(cyl))
Jums ir gatava datu kopa, jūs varat uzzīmēt diagrammu;
# 3. solis
ggplot(data, aes(x = cyl, fill = am)) +geom_bar() +theme_classic()
Kods Paskaidrojums
- Ggpplot () satur datu kopas datus un aes ().
- Aes () jūs iekļaujat mainīgo x-ass un kurš mainīgais ir nepieciešams, lai aizpildītu joslu (ti, am)
- geom_bar (): izveidojiet joslu diagrammu
Izeja:
Kartēšana aizpildīs joslu ar divām krāsām, pa vienai katram līmenim. Grupu mainīt ir bez piepūles, datu kopā izvēloties citus faktoru mainīgos.
Joslu diagramma procentos
Jūs varat vizualizēt joslu procentos, nevis neapstrādātu skaitu.
# Joslu diagramma procentos
ggplot(data, aes(x = cyl, fill = am)) +geom_bar(position = "fill") +theme_classic()
Kods Paskaidrojums
- Izmantojiet position = "fill" argumentā geom_bar (), lai izveidotu grafiku ar procentiem y asī.
Izeja:
Blakus stieņiem
Joslu diagrammu ir viegli uzzīmēt ar grupas mainīgo blakus.
# Bar chart side by sideggplot(data, aes(x = cyl, fill = am)) +geom_bar(position = position_dodge()) +theme_classic()
Kods Paskaidrojums
- position = position_dodge (): skaidri norāda, kā sakārtot joslas
Izeja:
Histogramma
Joslu diagrammas apmācības otrajā daļā varat attēlot mainīgo grupu ar vērtībām y asī.
Jūsu mērķis ir izveidot diagrammu ar vidējo jūdzi uz galonu katram cilindru tipam. Lai uzzīmētu informatīvu grafiku, rīkojieties šādi:
- 1. solis: izveidojiet jaunu mainīgo ar vidējo jūdzi uz galonu pa cilindram
- 2. darbība: izveidojiet pamata histogrammu
- 3. solis: mainiet orientāciju
- 4. solis: mainiet krāsu
- 5. solis: mainiet izmēru
- 6. darbība: pievienojiet etiķetes grafikam
1. solis) Izveidojiet jaunu mainīgo
Jūs izveidojat datu rāmi ar nosaukumu data_histogram, kas vienkārši atgriež vidējās jūdzes uz galonu pēc automašīnas cilindru skaita. Jūs šo jauno mainīgo saucat par mean_mpg, un vidējo noapaļojat ar divām zīmēm aiz komata.
# 1. solis
data_histogram <- mtcars % > %mutate(cyl = factor(cyl)) % > %group_by(cyl) % > %summarize(mean_mpg = round(mean(mpg), 2))
2. solis) Izveidojiet pamata histogrammu
Jūs varat uzzīmēt histogrammu. Tā nav gatava sazināties, lai to nogādātu klientam, taču tā dod mums intuīciju par tendenci.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +geom_bar(stat = "identity")
Kods Paskaidrojums
- Aes () tagad ir divi mainīgie. Mainīgais cilindrs attiecas uz x asi, un vidējais_mpg ir y ass.
- Jums ir jānokārto arguments stat = "identitāte", lai mainītu y asī mainīgo kā skaitlisko vērtību. geom_bar kā noklusējuma vērtību izmanto stat = "bin".
Izeja:
3. solis) Mainiet orientāciju
Jūs maināt diagrammas orientāciju no vertikālas uz horizontālu.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +geom_bar(stat = "identity") +coord_flip()
Kods Paskaidrojums
- Grafika orientāciju var kontrolēt ar coord_flip ().
Izeja:
4. solis. Mainiet krāsu
Joslu krāsas var atšķirt pēc x ass mainīgā faktora līmeņa.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +geom_bar(stat = "identity") +coord_flip() +theme_classic()
Kods Paskaidrojums
- Jūs varat uzzīmēt diagrammu pa grupām, izmantojot aizpildīšanas = cilnes kartēšanu. R automātiski rūpējas par krāsām, pamatojoties uz cilindru mainīgo līmeni
Izeja:
5. solis) Mainiet izmēru
Lai diagramma izskatās glītāka, samaziniet joslas platumu.
graph <- ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +geom_bar(stat = "identity",width = 0.5) +coord_flip() +theme_classic()
Kods Paskaidrojums
- Platuma arguments geom_bar () iekšpusē kontrolē joslas lielumu. Lielāka vērtība palielina platumu.
- Piezīme. Jūs glabājat diagrammu mainīgo diagrammā. Jūs to darāt, jo nākamais solis nemainīs mainīgā grafika kodu. Tas uzlabo koda lasāmību.
Izeja:
6. solis) Pievienojiet etiķetes grafikam
Pēdējais solis sastāv no mainīgā mean_mpg vērtības pievienošanas etiķetē.
graph +geom_text(aes(label = mean_mpg),hjust = 1.5,color = "white",size = 3) +theme_classic()
Kods Paskaidrojums
- Funkcija geom_text () ir noderīga, lai kontrolētu teksta estētiku.
- label =: Pievienojiet etiķeti joslu iekšpusē
- mean_mpg: iezīmei izmantojiet mainīgo mean_mpg
- hjust kontrolē etiķetes atrašanās vietu. Vērtībās, kas aizvērtas līdz 1, etiķete tiek parādīta joslas augšdaļā, un augstākas vērtības norāda etiķeti apakšā. Ja grafika orientācija ir vertikāla, mainiet hjust uz vjust.
- color = "white": mainiet teksta krāsu. Šeit jūs izmantojat balto krāsu.
- size = 3: iestatiet teksta lielumu.
Izeja:
Kopsavilkums
Joslu diagramma ir noderīga, ja x ass ir kategorisks mainīgais. Y ass var būt vai nu skaitīšanas, vai kopsavilkuma statistika. Zemāk esošajā tabulā ir apkopots, kā kontrolēt joslu diagrammu ar ggplot2:
Mērķis |
kods |
---|---|
Skaits |
ggplot(df, eas(x= factor(x1)) + geom_bar() |
Skaitiet ar dažādu krāsu pildījumu |
ggplot(df, eas(x= factor(x1), fill = factor(x1))) + geom_bar() |
Skaitīt kopā ar grupām, sakrautas |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge()) |
Skaitiet kopā ar grupām, blakus |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar() |
Skaitīt ar grupām, sakrautas% |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge()) |
Vērtības |
ggplot(df, eas(x= factor(x1)+ y = x2) + geom_bar(stat="identity") |