密度图中难看的不需要的垂直线

时间:2014-07-18 15:42:06

标签: r ggplot2

正如我周五所做的那样,我正在做一些密谋。

今天的冒险是一些加权密度图:

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')

这就是我想要的,但是这些丑陋的垂直线条贯穿了情节:

utter crap 这些不是网格线,也不是我的数据。如果我调整情节大小,它们仍会以不同的方式出现!more crap

我如何摆脱它们?

我这样做,所以我可以制作一个奇特的背靠背情节:

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:

ugly striped 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  

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")
##

enter image description here

答案 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没有丑陋的线条!

enter image description here