Dĩ nhiên, tại sao không?
Đây là một ví dụ (một trong số hàng tá tôi tìm thấy với một tìm kiếm google đơn giản):
(Nguồn hình ảnh là blog đo lường khả năng sử dụng, ở đây .)
Tôi đã thấy các phương tiện, có nghĩa là cộng hoặc trừ một độ lệch chuẩn, các lượng tử khác nhau (như trung vị, tứ phân vị, phần trăm thứ 10 và 90) đều được hiển thị theo nhiều cách khác nhau.
Thay vì vẽ một đường thẳng qua cốt truyện, bạn có thể đánh dấu thông tin dọc theo đáy của nó - như vậy:
Có một ví dụ (một trong số rất nhiều được tìm thấy) với một boxplot trên đầu thay vì ở dưới cùng, ở đây .
Đôi khi mọi người đánh dấu trong dữ liệu:
(Tôi đã thay đổi vị trí dữ liệu một chút vì các giá trị được làm tròn thành số nguyên và bạn không thể thấy mật độ tương đối tốt.)
Có một ví dụ về loại này, được thực hiện ở Stata, trên trang này (xem cái thứ ba ở đây )
Biểu đồ tốt hơn với một chút thông tin bổ sung - chúng có thể tự gây hiểu lầm
Bạn chỉ cần quan tâm để giải thích cốt truyện của bạn bao gồm những gì! (Bạn muốn có một tiêu đề và nhãn trục x tốt hơn tôi đã sử dụng ở đây, cho người mới bắt đầu. Cộng với một lời giải thích trong chú thích hình giải thích những gì bạn đã đánh dấu trên đó.)
-
Một âm mưu cuối cùng:
-
Lô đất của tôi được tạo ra trong R.
Biên tập:
Như @gung phỏng đoán, abline(v=mean...
đã được sử dụng để vẽ đường trung bình trên biểu đồ và rug
được sử dụng để vẽ các giá trị dữ liệu (mặc dù tôi thực sự đã sử dụng rug(jitter(...
vì dữ liệu được làm tròn thành số nguyên).
Đây là một cách để thực hiện boxplot ở giữa biểu đồ và trục:
hist(Davis2[,2],n=30)
boxplot(Davis2[,2],
add=TRUE,horizontal=TRUE,at=-0.75,border="darkred",boxwex=1.5,outline=FALSE)
Tôi sẽ không liệt kê tất cả mọi thứ dành cho, nhưng bạn có thể kiểm tra các đối số trong trợ giúp ( ?boxplot
) để tìm hiểu xem chúng dùng để làm gì và tự chơi với chúng.
Tuy nhiên, đó không phải là một giải pháp chung - tôi không đảm bảo nó sẽ luôn hoạt động tốt như ở đây (lưu ý tôi đã thay đổi at
và boxwex
các tùy chọn *). Nếu bạn không viết một chức năng thông minh để chăm sóc mọi thứ, bạn cần chú ý đến mọi thứ để đảm bảo nó làm những gì bạn muốn.
Đây là cách tạo dữ liệu tôi đã sử dụng (Tôi đã cố gắng chỉ ra cách hồi quy Theil thực sự có thể xử lý một số ngoại lệ có ảnh hưởng). Nó chỉ là dữ liệu tôi đã chơi khi tôi trả lời câu hỏi này lần đầu tiên.
library("car")
add <- data.frame(sex=c("F","F"),
weight=c(150,130),height=c(NA,NA),repwt=c(55,50),repht=c(NA,NA))
Davis2 <- rbind(Davis,add)
* - một giá trị thích hợp cho at
khoảng -0,5 lần giá trị của boxwex
; đó sẽ là một mặc định tốt nếu bạn viết một hàm để làm điều đó;boxwex
sẽ cần phải được thu nhỏ theo cách liên quan đến thang đo y (chiều cao) của boxplot; Tôi đề nghị 0,04 đến 0,05 lần giới hạn y trên có thể thường ổn.
Mã cho các biểu đồ biên:
hist(Davis2[,2],n=30)
stripchart(jitter(Davis2[,2],amount=.5),
method="jitter",jitter=.5,pch=16,cex=.05,add=TRUE,at=-.75,col='purple3')