66 votes

Lors de l'utilisation de "geom_histogram", il existe une erreur "unité (tic_pos.c," mm "):" x "et" unités "doivent avoir une longueur> 0". Pourquoi

En utilisant geom_histogram il y a une erreur

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

Pourquoi?

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

Cela a montré un graphique à barres noir. Cependant, lorsque je voulais regrouper les données par p pour rendre l’intrigue colorée, j’ai ajouté fill=p ,

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

Le j'ai eu le suivant:

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

Qu'est-ce qui ne va pas??

Le cadre de données est:

   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
 

89voto

Didzis Elferts Points 29673

Vous avez obtenu cette erreur car les valeurs p sont numériques dans votre cadre de données, mais dans ce cas, pour le fill= vous avez besoin de valeurs discrètes car les barres sont empilées et seront colorées selon p . Il suffit d'utiliser as.factor() autour de p .

 ggplot(BCIcor,aes(x=cor,fill=as.factor(p)))+geom_histogram(binwidth = 0.2)
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X