При использовании "geom_histogram" возникает ошибка "unit(tic_pos.c, "mm"):" x "и" units "должны иметь длину> 0". Зачем

Когда используешь 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

1 ответ

Вы получили эту ошибку, потому что p значения являются числовыми в вашем фрейме данных, но в этом случае для fill= вам нужны дискретные значения, так как столбцы сложены и будут окрашены в соответствии с p, Просто используйте as.factor() вокруг p,

ggplot(BCIcor,aes(x=cor,fill=as.factor(p)))+geom_histogram(binwidth = 0.2)
Другие вопросы по тегам