我正在绘制百分位数分割的密度图。以下是我的代码,
d <- density(x)
plot(d)
tot <- sum(d$y)
qs <- sapply(c(0.25, 0.5, 0.75,1), function (i) max(which(cumsum(d$y) <= tot*i)))
lines(x = d$x[qs], y = d$y[qs], type = "h")
text(x = d$x[qs]-3,y=0.015, labels = c("25%", "50%", "75%", "100%"))
我们可以将文本更改为动态文本,从前一个语句中获取值并将文本放在适当的位置吗?
还有一种方法可以为不同的百分位数提供颜色吗?因此,少于25将有一种颜色,它继续......
答案 0 :(得分:0)
您的d$x[qs]
只包含三个值,因此对于最后一个文本对象,将重复第一个x位置。有关着色,请查看?polygon
。