Bài học theo mô-đun (2/2)
Tùy chỉnh và các khía cạnh
Ngoài việc xác định hình học và tính thẩm mỹ, ggplot2 còn cho phép bạn tùy chỉnh hoàn toàn giao diện trực quan của biểu đồ bằng cách thêm tiêu đề, sửa đổi chủ đề và tạo bề mặt (chia biểu đồ thành các bảng phụ).
Tiêu đề và Nhãn: labs()
Để thêm tiêu đề chính, phụ đề và tùy chỉnh nhãn trục hoặc tiêu đề chú giải, chúng tôi thêm lớp labs():
ggplot(df, aes(x = age, y = income)) +
geom_point() +
labs(
title = "Income by Age",
subtitle = "2026 census data",
x = "Age (years)",
y = "Annual Income (EUR)",
color = "Gender"
)Chủ đề trực quan: theme_*()
ggplot2 bao gồm một số chủ đề được đóng gói sẵn có thể thay đổi hình nền, đường lưới và kiểu chữ. Một số trong những phổ biến nhất là:
theme_gray()(chủ đề mặc định có nền màu xám nhạt).theme_minimal()(nền trắng sạch với các đường lưới mỏng).theme_classic()(kiểu cổ điển đơn giản, không có đường lưới nền).
ggplot(df, aes(x = age, y = income)) +
geom_point() +
theme_minimal() # Applies a clean, modern styleChia ô thành các bảng phụ: facet_wrap()
Đối mặt cho phép bạn chia một ô thành nhiều ô phụ (bảng) cạnh nhau dựa trên giá trị của biến phân loại.
Hàm chính là facet_wrap() và sử dụng ký hiệu công thức R (~ variable_name):
# Creates a separate subplot for each department
ggplot(df, aes(x = age, y = income)) +
geom_point() +
facet_wrap(~ department)Hãy tự mình thử
Bài tập 1: Thêm tiêu đề và trục
Với biểu đồ phân tán, hãy thêm lớp labs() đặt tiêu đề (tiêu đề) thành 'Tiêu đề', nhãn trục x thành 'Tuổi' và nhãn trục y thành 'Thu nhập'.
Hiển thị gợi ý
Sử dụng labs(title = 'Title', x = 'Age', y = 'Income') nối nó với '+'.
Giải pháp khả dụng sau 3 lần thử
Bài tập 2: Áp dụng một theme sạch
Áp dụng chủ đề đồ họa theme_minimal() cho biểu đồ phân tán bên dưới để cải thiện tính thẩm mỹ trực quan của nó.
Hiển thị gợi ý
Sử dụng dấu '+' và thêm hàm theme_minimal().
Giải pháp khả dụng sau 3 lần thử
Bài 3: Tách cốt truyện bằng facet_wrap
Sử dụng hàm facet_wrap() để chia biểu đồ phân tán thành các bảng khác nhau dựa trên cột phòng ban.
Hiển thị gợi ý
Sử dụng facet_wrap(~ Department) để phân chia cốt truyện.
Giải pháp khả dụng sau 3 lần thử
Bài 4: Lật trục tọa độ
Để tạo biểu đồ cột có nhiều danh mục dễ đọc, bạn có thể lật trục x và y. Thêm lớp coord_flip() vào biểu đồ thanh.
Hiển thị gợi ý
Hoa Kỳ coord_flip() legandolo alla pipe ggplot con '+'.
Giải pháp khả dụng sau 3 lần thử
Bài tập 5: Hoàn thành cốt truyện sẵn sàng xuất bản
Tạo một biểu đồ hoàn chỉnh trên df: ánh xạ tuổi theo x, thu nhập theo y và tô màu theo giới tính bên trong geom_point(). Chia biểu đồ bằng cách sử dụng facet_wrap() theo bộ phận, thêm labs() với tiêu đề 'Mức lương theo độ tuổi' và cuối cùng áp dụng theme_minimal().
Hiển thị gợi ý
Kết hợp tất cả các lớp bằng cách sử dụng '+': ggplot(...) + geom_point() + facet_wrap(~ Department) + labs(title = 'Salary by Age') + theme_minimal()
Giải pháp khả dụng sau 3 lần thử