Przejdź do głównej treści
eLearner.app
Moduł 5 · Lekcja 2 z 210/10 w kursie~15 min
Lekcje modułu (2/2)

Personalizacja i Panele (Facets)

Oprócz definiowania geometrii i estetyki, ggplot2 pozwala na pełne dostosowanie wyglądu wizualnego wykresu poprzez dodawanie tytułów, modyfikowanie motywów oraz stosowanie podziału na panele (faceting).


Tytuły i Etykiety: labs()

Aby dodać tytuł główny, podtytuły oraz zmienić etykiety osi kartezjańskich lub legendy, używamy warstwy labs():

Code
ggplot(df, aes(x = age, y = income)) +
  geom_point() +
  labs(
    title = "Reddito in base all'età",
    subtitle = "Dati del censimento 2026",
    x = "Età (anni)",
    y = "Reddito annuale (EUR)",
    color = "Genere"
  )

Motywy Graficzne: theme_*()

ggplot2 zawiera kilka predefiniowanych motywów, które zmieniają tło, siatki i typografię wykresu. Do najczęściej używanych należą:

  • theme_gray() (domyślny motyw z szarym tłem).
  • theme_minimal() (białe tło i bardzo cienka siatka).
  • theme_classic() (czysty styl, bez wewnętrznych linii siatki).
Code
ggplot(df, aes(x = age, y = income)) +
  geom_point() +
  theme_minimal()  # Stosuje nowoczesny i czysty wygląd

Podział Wykresu na Panele: facet_wrap()

Faceting umożliwia podzielenie pojedynczego wykresu na wiele wykresów wtórnych (paneli) umieszczonych obok siebie, w oparciu o wartość zmiennej kategorycznej.

Główną funkcją jest facet_wrap() i używa ona notacji formuły języka R (~ nazwa_zmiennej):

Code
# Tworzy osobny wykres dla każdego działu
ggplot(df, aes(x = age, y = income)) +
  geom_point() +
  facet_wrap(~ department)

Spróbuj sam

Esercizio 1: Dodaj tytuły i opisy osi

Ćwiczenie#r.m5.l2.e1
Próby: 0Ładowanie...

Dla danego wykresu rozrzutu, dodaj warstwę labs() ustawiając tytuł (title) na 'Title', etykietę osi x na 'Age' i etykietę osi y na 'Income'.

Ładowanie edytora...
Pokaż wskazówkę

Użyj labs(title = 'Title', x = 'Age', y = 'Income') łącząc to za pomocą '+'.

Rozwiązanie dostępne po 3 próbach

Esercizio 2: Zastosuj czysty motyw

Ćwiczenie#r.m5.l2.e2
Próby: 0Ładowanie...

Zastosuj motyw graficzny theme_minimal() do poniższego wykresu rozrzutu, aby poprawić jego estetykę wizualną.

Ładowanie edytora...
Pokaż wskazówkę

Użyj znaku '+' i dodaj funkcję theme_minimal().

Rozwiązanie dostępne po 3 próbach

Esercizio 3: Podziel wykres za pomocą facet_wrap

Ćwiczenie#r.m5.l2.e3
Próby: 0Ładowanie...

Użyj funkcji facet_wrap(), aby podzielić wykres rozrzutu na różne panele w oparciu o kolumnę department.

Ładowanie edytora...
Pokaż wskazówkę

Użyj facet_wrap(~ department), aby podzielić wykres.

Rozwiązanie dostępne po 3 próbach

Esercizio 4: Odwróć osie współrzędnych

Ćwiczenie#r.m5.l2.e4
Próby: 0Ładowanie...

Aby uczynić wykres kolumnowy z wieloma kategoriami bardziej czytelnym, możesz odwrócić osie x i y. Dodaj warstwę coord_flip() do wykresu słupkowego.

Ładowanie edytora...
Pokaż wskazówkę

Użyj coord_flip() dołączając to do potoku ggplot znakiem '+'.

Rozwiązanie dostępne po 3 próbach

Esercizio 5: Kompletny wykres gotowy do publikacji

Ćwiczenie#r.m5.l2.e5
Próby: 0Ładowanie...

Utwórz kompletny wykres na df: zmapuj age na x, income na y i color na gender w geom_point(). Podziel wykres za pomocą facet_wrap() na department, dodaj labs() z tytułem 'Salary by Age' i na koniec zastosuj theme_minimal().

Ładowanie edytora...
Pokaż wskazówkę

Połącz wszystkie warstwy za pomocą '+': ggplot(...) + geom_point() + facet_wrap(~ department) + labs(title = 'Salary by Age') + theme_minimal()

Rozwiązanie dostępne po 3 próbach