我试图使用ggplot
通过颜色/透明度创建伪boxplot
,但我挣扎了一点。这个想法是,对于x轴上的任何点,特定的y值出现的次数越多,(x,y)点应该越黑。要增加并发症,我没有对每个(x,y)进行计数,但是我有一个计数为(x , ymin:ymax)
,这意味着这个计数适用于(x,ymin)和(x,ymax)之间的所有点。颜色编码Boxplot
搜索似乎是有点棘手和我“米不能发现什么我可以使用,我可以通过自己得到的最接近的是如下,但是这需要很长的更大的数据集。
library(ggplot2)
set.seed(1)
(d <- data.frame(cbind(x = sample(1:3, 10, replace = TRUE), y = sample(3:8, 10, replace = TRUE)), fac = sample(1:3, 10, replace = TRUE)))
p1 <- ggplot()
for (i in seq(nrow(d)))
{
p1 <- p1 + geom_rect(
data=d[i,],
aes(
xmin = fac - .4,
xmax = fac + .4,
ymin = x,
ymax = y),
alpha = .25
)
}
任何建议?我宁愿一个ggplot
的解决方案。感谢
11月23日更新,随着特洛伊的帮助,我已经到了这里。现在唯一的问题是图例在每个矩形的t值之间变化,而它应该从x,y处的累积t开始。
library(ggplot2)
set.seed(1)
d <- data.frame(cbind(x = sample(1:3, 6, replace = TRUE),
ymin = sample(3:8, 6, replace = TRUE),
ymax = sample(3:8, 6, replace = TRUE),
t = sample(3:8, 6, replace = TRUE)/10
))
ggplot(data=d) +
geom_rect(aes(xmin=x-0.4,xmax=x+0.4,ymin=ymin,ymax=ymax,alpha=t),fill="red")
也许地毯剧情添加到情节的边缘? http://stackoverflow.com/questions/11546256/two-way-density-plot-combined-with-one-way-density-plot-with-selected-regions-in – amzu