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():
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).
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):
# 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
Dla danego wykresu rozrzutu, dodaj warstwę labs() ustawiając tytuł (title) na 'Title', etykietę osi x na 'Age' i etykietę osi y na 'Income'.
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
Zastosuj motyw graficzny theme_minimal() do poniższego wykresu rozrzutu, aby poprawić jego estetykę wizualną.
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
Użyj funkcji facet_wrap(), aby podzielić wykres rozrzutu na różne panele w oparciu o kolumnę department.
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
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.
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
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().
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