正如我周五所做的那样,我正在做一些密谋。
今天的冒险是一些加权密度图:
set.seed(1234)
test <- data.frame(x=rnorm(100), y=rnorm(100))
ggplot() +
geom_histogram(data=test, aes(x=x, y=..density.., weight=abs(y)), stat='density')
这就是我想要的,但是这些丑陋的垂直线条贯穿了情节:
这些不是网格线,也不是我的数据。如果我调整情节大小,它们仍会以不同的方式出现!
我如何摆脱它们?
我这样做,所以我可以制作一个奇特的背靠背情节:
ggplot() +
geom_histogram(data=test[test$y>0,], aes(x=x, y=..density.., weight=abs(y)), stat='density') +
geom_histogram(data=test[test$y<0,], aes(x=x, y=-..density.., weight=abs(y)), stat='density')
这给了我这条条纹的slugblob:
这是我的会话信息:
> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] parallel stats graphics grDevices utils datasets methods base
other attached packages:
[1] ggplot2_1.0.0 reshape2_1.2.2 abind_1.4-0
loaded via a namespace (and not attached):
[1] colorspace_1.2-4 dichromat_2.0-0 digest_0.6.4 grid_3.0.2 gtable_0.1.2 labeling_0.2 MASS_7.3-29 munsell_0.4.2 plyr_1.8.1
[10] proto_0.3-10 RColorBrewer_1.0-5 Rcpp_0.11.1 scales_0.2.3 stringr_0.6.2 tools_3.0.2
答案 0 :(得分:3)
set.seed(1234)
test <- data.frame(x=rnorm(100), y=rnorm(100))
ggplot(
data=test,
aes(x=x,weight=abs(y)))+
geom_density(fill="black")+
geom_density(
aes(x=x,y=-..density..,weight=abs(y)),
fill="grey")
##
答案 1 :(得分:0)
修改nrussell的代码,完全符合我的要求:
ggplot() +
geom_density(data=test[test$y>0,], aes(x=x, y=..density.., weight=abs(y)), fill='black') +
geom_density(data=test[test$y<0,], aes(x=x, y=-..density.., weight=abs(y)), fill='black')
Yay slugblob没有丑陋的线条!