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 độ x và y 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, ea và nintendo đã đượ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
Hướng dẫn bài tập
- Tính các đường cong mật độ của
Critic_Scorecho Activision, EA và Nintendo, lần lượt lưu vào các đối tượngd.a,d.evàd.n. - Tạo các biểu đồ mật độ chồng lớp của
Critic_Scorechoactivision,eavànintendo(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'))