(Acest articol a fost publicat pentru prima dată pe Ozancan Ozdemirși a contribuit cu drag la R-Bloggers). (Puteți raporta problema despre conținutul de pe această pagină aici)
Doriți să vă împărtășiți conținutul pe R-Bloggers? Faceți clic aici dacă aveți un blog sau aici dacă nu.
Kevin Fllerlage, care este un specialist în vizualizarea datelor, a sugerat o alternativă excelentă la complotul de bare stivuite pe blogul său. El a numit această nouă alternativă „complot total de bare” segmentat ”. Acest pachet R GGSEMEDEDTOTALBAR implementează această idee. Pachetul este construit în partea de sus a pachetului GGPLOT2, care este un pachet popular de vizualizare a datelor în R. Funcția GGSegmedTotalBar creează o diagramă totală segmentată cu adnotări personalizate (cutii) adăugate pentru fiecare grup. Înălțimea fiecărei casete este determinată de valoarea totală asociată cu fiecare grup.
Lucrul principal din spatele utilizării GGSegMedTotalBar este de a crea un cadru de date cu următoarele coloane:
Grup: un șir reprezentând numele variabilei de grupare. Segment: un șir reprezentând numele variabilei de segmentare. Valoare: un șir reprezentând numele variabilei de valoare (utilizat pentru înălțimea barelor). Total: un șir reprezentând numele variabilei totale (utilizat pentru determinarea înălțimii casetei pentru fiecare grup). Lucrul bun este că cadrul dvs. de date nu trebuie să aibă aceleași nume de coloane. Cu toate acestea, trebuie să specificați numele coloanelor din cadrul de date atunci când apelați corect funcția GGSEMEDTOTALBAR.
Funcția GGSegmedTotalBar are un cadru de date și numele coloanelor ca argumente. Creează un complot de bare bazat pe date grupate cu adnotări (cutii) adăugate pentru fiecare grup. Înălțimea fiecărei casete este determinată de valoarea totală asociată cu fiecare grup.
# Example data frame df_ex <- data.frame( group = c("A", "A","A","B", "B","B","C","C","C","D","D","D"), segment = c("X","Y","Z", "X","Y","Z", "X","Y","Z","X","Y","Z"), value = c(10, 20, 30, 40,50,60, 70,80,90, 100, 110, 120), total = c(60,60,60, 150,150,150, 240,240,240, 360,360,360) ) # Create the segmented total bar plot p <- ggsegmentedtotalbar(df_ex, "group", "segment", "value", "total") # Print the plot print(p)
Funcția oferă, de asemenea, trei parametri pe care îi puteți utiliza pentru a personaliza graficul:
Alpha: o valoare numerică (între 0 și 1) Controlul transparenței casetelor de fundal. Implicit este 0,3. Culoare: un șir care specifică culoarea casetelor de fundal. Valoarea implicită este „LightGrey”. Etichetă: logic. Dacă este adevărat, adaugă etichete care prezintă valori totale deasupra casetelor și etichetelor de valoare pe fiecare segment. Implicit este fals.
# Create the segmented total bar plot with labels p <- ggsegmentedtotalbar(df_ex, "group", "segment", "value", "total", label = TRUE, label_size = 4, label_color = "black") # Print the plot print(p)
# Create the segmented total bar plot with labels and different total box. p <- ggsegmentedtotalbar(df_ex, "group", "segment", "value", "total", label = TRUE, label_size = 4, label_color = "black", alpha = 0.2, color = "steelblue") # Print the plot print(p)
În afară de acești parametri, puteți, de asemenea, să vă personalizați complotul utilizând funcții legate de GGPLOT2. Iată un alt exemplu.