Tôi có các ô phân tán dữ liệu 2D từ hai danh mục. Tôi muốn thêm các đường mật độ cho mỗi chiều - không phải bên ngoài cốt truyện (xem Scatterplot with marginal histograms in ggplot2) mà phải trên bề mặt âm mưu. Tôi có thể có được điều này cho kích thước trục x, như thế này:ggplot2: thêm đường cong mật độ có điều kiện mô tả cả hai kích thước của phân tán
set.seed(123)
dim1 <- c(rnorm(100, mean=1), rnorm(100, mean=4))
dim2 <- rnorm(200, mean=1)
cat <- factor(c(rep("a", 100), rep("b", 100)))
mydf <- data.frame(cbind(dim2, dim1, cat))
ggplot(data=mydf, aes(x=dim1, y=dim2, colour=as.factor(cat))) +
geom_point() +
stat_density(aes(x=dim1, y=(-2+(..scaled..))),
position="identity", geom="line")
Nó trông như thế này:
Nhưng tôi muốn một cặp tương tự của đường cong mật độ chạy theo chiều dọc, cho thấy sự phân bố các điểm trong thứ nguyên y. Tôi đã thử
stat_density(aes(y=dim2, x=0+(..scaled..))), position="identity", geom="line)
nhưng nhận được lỗi "tỷ lệ yêu cầu thiếu tính thẩm mỹ sau: x".
Bất kỳ ý tưởng nào? nhờ
tôi đã thêm (xem xét cấp phát) âm mưu của mình. Điều này trông giống như một khó khăn. Tôi tự hỏi nếu 'coord_flip' hữu ích ở đây – C8H10N4O2
Điều này thật thú vị, mặc dù nó không phải là những gì bạn đang tìm kiếm:' ggplot (dữ liệu = mydf, aes (x = dim1, y = dim2, màu = as.factor (cat))) + stat_density2d() ' – C8H10N4O2