使用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
答案 0 :(得分:89)
您收到此错误是因为p
值在您的数据框中是数字的,但在{0}} fill=
中,您需要离散值,因为条形图会被堆叠并根据p
进行着色。只需在as.factor()
周围使用p
。
ggplot(BCIcor,aes(x=cor,fill=as.factor(p)))+geom_histogram(binwidth = 0.2)