Bắt đầu ngayBắt đầu miễn phí

Chồng lớp biểu đồ mật độ

Trong bài tập này, bạn sẽ học cách tạo các biểu đồ mật độ và chồng chúng lên nhau để so sánh phân phối điểm đánh giá của nhà phê bình cho ba nhà phát hành trò chơi điện tử: Activision, Electronic Arts và Nintendo.

Để tạo biểu đồ mật độ cho Critic_Score, hãy lưu kết quả của lệnh density(), rồi truyền các tọa độ xy vào add_lines():

d <- density(vgsales2016$Critic_Score, na.rm = TRUE)
plot_ly() %>%
  add_lines(x = ~d$x, y = ~d$y, fill = 'tozeroy') %>%
  layout(xaxis = list(title = 'Critic score'),
         yaxis = list(title = 'Density'))

Hãy để ý cách bạn có thể tạo các dạng biểu đồ mới một cách dễ dàng bằng đoạn mã quen thuộc! Tham số fill = 'tozeroy' sẽ tô phần diện tích dưới đường cong.

Các data frame activision, eanintendo đã được nạp, cũng như plotly.

Bài tập này là một phần của khóa học

Trực quan hóa dữ liệu tương tác với plotly trong R

Xem khóa học

Hướng dẫn bài tập

  • Tính các đường cong mật độ của Critic_Score cho Activision, EA và Nintendo, lần lượt lưu vào các đối tượng d.a, d.ed.n.
  • Tạo các biểu đồ mật độ chồng lớp của Critic_Score cho activision, eanintendo (theo đúng thứ tự đó).

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Compute density curves
d.a <- density(___, na.rm = TRUE)
d.e <- density(___, na.rm = TRUE)
d.n <- density(___, na.rm = TRUE)

# Overlay density plots
plot_ly() %>%
  add_lines(x = ___, y = ___, name = "Activision", fill = 'tozeroy') %>%
  add_lines(x = ___, y = ___, name = "Electronic Arts", fill = 'tozeroy') %>%
  add_lines(x = ___, y = ___, name = "Nintendo", fill = 'tozeroy') %>%
  layout(xaxis = list(title = 'Critic Score'),
         yaxis = list(title = 'Density'))
Chỉnh sửa và Chạy Mã