65

使用时geom_histogram出现错误

unit(tic_pos.c, "mm") : 'x' and 'units' must have length > 0. 

为什么?

p4<-ggplot(BCIcor,aes(x=cor))+geom_histogram(binwidth = 0.2)    

这显示了一个黑色条形图。但是,当我想对数据进行分组p以使情节丰富多彩时,我添加了fill=p

p4<-ggplot(BCIcor,aes(x=cor,fill=p))+geom_histogram(binwidth = 0.2)

我得到以下信息:

error :"unit(tic_pos.c, "mm") : 'x' and 'units' must have length > 0".

怎么了??

数据框为:

  cor        pvalue   p 

1  0.87882370 0.049710 2       
2 -0.83041880 0.081660 1         
3 -0.12989750 0.835100 1        
4 -0.75309860 0.141700 1        
5 -0.88553450 0.045680 2
4

1 回答 1

89

您收到此错误是因为p数据框中的值是数字,但在这种情况下,fill=您需要离散值,因为条形图是堆叠的并且将根据p. 只是使用as.factor()周围p

ggplot(BCIcor,aes(x=cor,fill=as.factor(p)))+geom_histogram(binwidth = 0.2)
于 2013-05-15T15:48:35.020 回答