# data
set.seed (123)
xvar <- c(rnorm (1000, 50, 30), rnorm (1000, 40, 10), rnorm (1000, 70, 10))
yvar <- xvar + rnorm (length (xvar), 0, 20)
myd <- data.frame (xvar, yvar)
# density plot for xvar
upperp = 80 # upper cutoff
lowerp = 30 # lower cutoff
x <- myd$xvar
plot(density(x))
dens <- density(x)
x11 <- min(which(dens$x <= lowerp))
x12 <- max(which(dens$x <= lowerp))
x21 <- min(which(dens$x > upperp))
x22 <- max(which(dens$x > upperp))
with(dens, polygon(x = c(x[c(x11, x11:x12, x12)]),
y = c(0, y[x11:x12], 0), col = "green"))
with(dens, polygon(x = c(x[c(x21, x21:x22, x22)]),
y = c(0, y[x21:x22], 0), col = "red"))
abline(v = c(mean(x)), lwd = 2, lty = 2, col = "red")
# density plot with yvar
upperp = 70 # upper cutoff
lowerp = 30 # lower cutoff
x <- myd$yvar
plot(density(x))
dens <- density(x)
x11 <- min(which(dens$x <= lowerp))
x12 <- max(which(dens$x <= lowerp))
x21 <- min(which(dens$x > upperp))
x22 <- max(which(dens$x > upperp))
with(dens, polygon(x = c(x[c(x11, x11:x12, x12)]),
y = c(0, y[x11:x12], 0), col = "green"))
with(dens, polygon(x = c(x[c(x21, x21:x22, x22)]),
y = c(0, y[x21:x22], 0), col = "red"))
abline(v = c(mean(x)), lwd = 2, lty = 2, col = "red")
tôi cần phải mưu âm mưu mật độ hai chiều, tôi không chắc chắn có cách tốt hơn so với những điều sau đây:hai chiều âm mưu mật độ kết hợp với cốt truyện mật độ một cách với các vùng chọn trong r
ggplot(myd,aes(x=xvar,y=yvar))+
stat_density2d(aes(fill=..level..), geom="polygon") +
scale_fill_gradient(low="blue", high="green") + theme_bw()
Tôi muốn kết hợp tất cả ba loại trong một (tôi không biết nếu tôi có thể tạo ra âm mưu hai chiều trong ggplot), không có prefrence về việc liệu các giải pháp được lô là trong ggplot hoặc cơ sở hoặc hỗn hợp. Tôi hy vọng đây là dự án khả thi, xem xét tính bền vững của R. Cá nhân tôi thích ggplot2.
Lưu ý: các bóng thấp hơn trong âm mưu này là không đúng, màu đỏ nên luôn luôn thấp hơn và màu xanh lá cây trên trong xVar và yvar đồ thị, tương ứng với khu vực bóng mờ trong âm mưu mật độ xy.
Edit: Cuối cùng mong đợi trên đồ thị (nhờ Seth và jon cho câu trả lời rất gần) (1) loại bỏ không gian và trục đánh dấu nhãn vv để làm cho nó nhỏ gọn
(2) sắp xếp lưới để âm mưu giữa ve và lưới nên phù hợp với bọ ve và nhãn bên và kích thước của lô trông giống nhau.
Một câu trả lời ở đây có thể giúp đỡ với việc mật độ với ggplot http://stackoverflow.com/questions/ 8545035/scatterplot-with-marginal-histograms-in-ggplot2 – Seth
Câu hỏi của bạn là rất cảm hứng và tôi tự hỏi nếu bạn có thể chia sẻ các mã cuối cùng có thể âm mưu con số trong bài viết của bạn? Cảm ơn rất nhiều. –