Biểu đồ này hiển thị bảng dự phòng hai chiều có dữ liệu xấp xỉ:
Branded Unbranded Social Referring Direct RSS
First-time... 177276 472737 88638 265915 472737 59092
Return Visits... 236002 629339 118001 354003 629339 78667
4+ Visits in ... 166514 444037 83257 249771 444037 55505
10+ Visit in ... 28782 76751 14391 43172 76751 9594
At Least One Visit... 6707 17886 3354 10061 17886 2236
Last Touch... 660 1759 330 989 1759 220
Có vô số cách để xây dựng cốt truyện này. Chẳng hạn, bạn có thể tính toán vị trí của từng mảng màu hình chữ nhật và tách riêng từng mảng. Tuy nhiên, nói chung, nó giúp tìm một mô tả cô đọng về cách biểu đồ thể hiện dữ liệu.
Như một điểm khởi hành, chúng tôi có thể xem đây là một biến thể của biểu đồ thanh xếp chồng lên nhau.
Biểu đồ này hiếm khi cần một mô tả: thông qua sự quen thuộc, chúng ta biết rằng mỗi hàng hình chữ nhật tương ứng với mỗi hàng của bảng dự phòng; độ dài của các hình chữ nhật tỷ lệ thuận với số lượng của chúng; rằng họ không chồng chéo; và màu sắc tương ứng với các cột của bảng.
Nếu chúng ta chuyển đổi bảng này thành "khung dữ liệu" hoặc "bảng dữ liệu" có một hàng cho mỗi số với các trường chỉ ra tên hàng, tên cột và số đếm, thì hãy vẽ nó để gọi một hàm phù hợp và quy định nơi cần tìm tên hàng, tên cột và số đếm. Sử dụng triển khai Grammar of Graphics ( gói cho ) nó sẽ trông giống nhưXggplot2
R
ggplot(X, aes(Outcome, Count, fill=Referral)) + geom_col()
Các chi tiết của đồ họa, chẳng hạn như một hàng thanh rộng bao nhiêu và màu sắc nào sẽ sử dụng, thường cần phải được quy định rõ ràng. Làm thế nào được thực hiện phụ thuộc vào môi trường âm mưu (và vì vậy rất ít quan tâm: bạn chỉ cần tìm kiếm nó).
Việc triển khai Grammar of Graphics đặc biệt này cung cấp rất ít tính linh hoạt trong việc định vị các thanh. Một cách để tạo ra giao diện mong muốn, với nỗ lực tối thiểu, là chèn một danh mục vô hình ở gốc của mỗi thanh để các thanh được căn giữa. Một chút suy nghĩ cho thấy số lượng giả cần thiết để căn giữa mỗi thanh phải là trung bình của tổng chiều dài của thanh và của thanh dài nhất. Trong ví dụ này, đây sẽ là một cột ban đầu với các giá trị
254478.0 0.0 301115.0 897955.0 993610.5 1019817.0
Dưới đây là biểu đồ thanh xếp chồng kết quả hiển thị dữ liệu giả mạo màu xám nhạt:
Con số mong muốn được tạo bằng cách hiển thị đồ họa cho cột giả:
Mô tả Grammar of Graphics của cốt truyện không cần thay đổi: chúng tôi chỉ đơn giản cung cấp một bảng dự phòng khác để được hiển thị theo cùng một mô tả (và vượt qua sự gán màu mặc định cho cột giả).
Bình luận
Những đồ họa này là trung thực: phạm vi ngang của mỗi mảng màu tỷ lệ thuận với dữ liệu cơ bản, không bị biến dạng. So sánh chúng với bản gốc (trong câu hỏi) cho thấy mức độ biến dạng của nó cực kỳ như thế nào ( Yếu tố nói dối của Tufte ).
Nếu muốn hiển thị chi tiết ở cuối "kênh", hãy xem xét việc thể hiện số lượng theo khu vực thay vì chiều dài. Bạn có thể làm cho chiều dài của các thanh tỷ lệ với căn bậc hai của tổng chiều dài và chiều rộng của chúng (theo hướng dọc) cũng tỷ lệ với căn bậc hai. Bây giờ, đáy của "phễu" sẽ dài khoảng một phần hai mươi, thay vì một phần tư của nó, cho phép hiển thị một số chi tiết. Thật không may, việc ggplot2
triển khai không cho phép một người ánh xạ một biến theo chiều rộng của thanh và do đó cần có một công việc liên quan nhiều hơn (một cái thực sự mô tả từng hình chữ nhật riêng lẻ). Có lẽ có một triển khai Python linh hoạt hơn.
Người giới thiệu
Edward Tufte, Hiển thị trực quan của thông tin định lượng . Báo chí Cheshire 1984.
Leland Wilkinson, Ngữ pháp của đồ họa. Mùa xuân năm 2005.