Hướng dẫn cơ bản về biểu đồ cột trong R: Tạo những hình ảnh trực quan đẹp mắt

Xin chào các bạn, những người đam mê trực quan hóa dữ liệu! Tôi rất vui mừng được làm hướng dẫn viên của bạn trong hành trình thú vị vào thế giới của R và biểu đồ cột. Với hơn một thập kỷ dạy khoa học máy tính, tôi có thể nói rằng việc tạo ra những biểu đồ trực quan hấp dẫn không chỉ là kỹ năng mà còn là một hình thức nghệ thuật. Và hôm nay, chúng ta sẽ biến tất cả các bạn thành những nghệ sĩ với R!

R - Bar Charts

Biểu đồ cột là gì?

Trước khi chúng ta nhảy vào mã, hãy hiểu biểu đồ cột là gì. Hãy tưởng tượng bạn đang tham gia một buổi tiệc và bạn muốn so sánh chiều cao của bạn bè. Thay vì xếp họ dọc theo tường, bạn có thể vẽ những hình chữ nhật đại diện cho chiều cao của từng người. Đó chính là điều mà biểu đồ cột làm—it sử dụng những thanh hình chữ nhật để hiển thị so sánh giữa các danh mục.

Bây giờ, hãy cùng làm việc với một chút mã R!

Biểu đồ cột cơ bản

Hãy bắt đầu với một ví dụ đơn giản. Giả sử chúng ta muốn trực quan hóa số lượng kem được bán theo hương vị.

# Tạo một vector của các hương vị kem
flavors <- c("Vanilla", "Chocolate", "Strawberry", "Mint")

# Tạo một vector của số lượng kem được bán
scoops <- c(50, 75, 30, 45)

# Tạo biểu đồ cột
barplot(scoops, names.arg = flavors)

Khi bạn chạy đoạn mã này, bạn sẽ thấy một biểu đồ cột cơ bản. Mỗi thanh đại diện cho một hương vị, và chiều cao của nó đại diện cho số lượng kem được bán. Đơn giản phải không? Nhưng nó hơi đơn điệu. Hãy làm cho nó sống động hơn!

Thêm nhãn, tiêu đề và màu sắc cho biểu đồ cột

Bây giờ, hãy làm cho biểu đồ của chúng ta trở nên thông tin hơn và trực quan hơn.

# Tạo một biểu đồ cột hấp dẫn hơn
barplot(scoops,
names.arg = flavors,
col = c("ivory", "chocolate", "pink", "lightgreen"),
main = "Doanh số kem theo hương vị",
xlab = "Hương vị",
ylab = "Số lượng kem bán ra",
border = "darkgray",
ylim = c(0, 100))

# Thêm nhãn văn bản trên mỗi thanh
text(x = 1:length(scoops), y = scoops, labels = scoops, pos = 3, cex = 0.8)

Giải thích:

  • col: Chúng ta đang chỉ định màu sắc cho mỗi thanh để phù hợp với hương vị của nó. Thú vị phải không?
  • main, xlab, ylab: Những tham số này thêm tiêu đề và nhãn cho trục của biểu đồ chúng ta.
  • border: Thêm viền cho các thanh.
  • ylim: Đặt phạm vi của trục y.
  • Hàm text() thêm nhãn văn bản trên mỗi thanh cho thấy số lượng kem bán ra chính xác.

Chạy đoạn mã này, và voilà! Bạn đã có một biểu đồ cột chuyên nghiệp mà ngay cả Gordon Ramsay cũng sẽ công nhận (nếu anh ấy là một nhà khoa học dữ liệu).

Biểu đồ cột nhóm

Bây giờ, hãy nâng cấp. Giả sử chúng ta muốn so sánh doanh số kem theo tháng. Điều này đòi hỏi một biểu đồ cột nhóm!

# Tạo ma trận doanh số kem
sales <- matrix(c(50, 75, 30, 45,
60, 80, 40, 50,
45, 70, 35, 40),
nrow = 3, byrow = TRUE)

# Đặt tên cột (hương vị) và tên hàng (tháng)
colnames(sales) <- c("Vanilla", "Chocolate", "Strawberry", "Mint")
rownames(sales) <- c("Tháng Sáu", "Tháng Bảy", "Tháng Tám")

# Tạo biểu đồ cột nhóm
barplot(sales,
beside = TRUE,
col = c("skyblue", "pink", "lightgreen"),
legend.text = rownames(sales),
args.legend = list(x = "topright", bty = "n"),
main = "Doanh số kem theo hương vị và tháng",
xlab = "Hương vị",
ylab = "Số lượng kem bán ra")

Tại đây, beside = TRUE chỉ định R đặt các thanh bên cạnh nhau thay vì chồng chúng lên nhau. Tham số legend.textargs.legend thêm một chú thích vào biểu đồ.

Biểu đồ cột chồng

Cuối cùng, hãy tạo một biểu đồ cột chồng. Điều này hoàn hảo khi bạn muốn hiển thị cả tổng số và thành phần.

# Tạo biểu đồ cột chồng
barplot(sales,
col = c("skyblue", "pink", "lightgreen"),
legend.text = rownames(sales),
args.legend = list(x = "topright", bty = "n"),
main = "Tổng doanh số kem theo hương vị",
xlab = "Hương vị",
ylab = "Tổng số lượng kem bán ra")

Sự khác biệt duy nhất ở đây là chúng ta đã loại bỏ beside = TRUE. Bây giờ, các thanh cho mỗi hương vị được chồng lên nhau, hiển thị cả tổng doanh số và đóng góp của từng tháng.

Kết luận

Và thế là bạn đã biết cách tạo biểu đồ cột cơ bản, nhóm và chồng trong R. Nhớ rằng, chìa khóa để thành thạo điều này là thực hành. Hãy thử thay đổi màu sắc, thêm dữ liệu hơn, hoặc thậm chí làm cho biểu đồ của bạn hoạt hình (đúng vậy, điều đó cũng có thể làm trong R!).

Dưới đây là bảng tham khảo nhanh các hàm chính chúng ta đã sử dụng:

Hàm Mô tả
barplot() Tạo biểu đồ cột
text() Thêm văn bản vào biểu đồ
legend() Thêm chú thích vào biểu đồ
matrix() Tạo ma trận
c() Kết hợp giá trị thành vector hoặc danh sách

Nhớ rằng, trực quan hóa dữ liệu là về việc kể một câu chuyện với dữ liệu của bạn. Vậy hãy tiến lên, thử nghiệm, và để dữ liệu của bạn nói lên qua những biểu đồ cột đẹp mắt!

Chúc các bạn viết mã vui vẻ, và mong rằng các thanh của bạn luôn được căn chỉnh hoàn hảo!

Credits: Image by storyset