错误:必须从色调调色板中请求至少一种颜色

我有一些看起来像这样的数据:

<int>   hgnc_symbol
<fctr>  structure
<int>   Promedio_senal
<dbl>   
>8903   MECP2   10225   7.006842    
>3216   cdkL5   10225   7.484454    
>1405   AUTS2   10225   12.801426   
>4254   DAPK1   10225   6.171004    
>12160  RBFOX1  10225   30.756440   
>8903   MECP2   10185   6.595135    
>3216   cdkL5   10185   6.067631    
>1405   AUTS2   10185   11.053545   
>4254   DAPK1   10185   6.222515    
>12160  RBFOX1  10185   25.431652   

最初它不是一个数据表,所以我通过这样做将我变成了小人物:

G_OBJ [,structure:= factor(结构,等级= 1:2,标签= c(“ 10225”,“ 10185”))]

setDT(G_OBJ)

我想做一个条形图,其中x轴是基因的名称(hgnc_symbol),而y轴是基因expresión(Promedio_senal) 我有关于两种不同大脑结构的数据,我想用不同的颜色并排显示两种结构的条形图。我用于执行此操作的代码如下:

G_OBJ[,structure:=factor(structure,levels = 1:2,labels = c("10225","10185"))]

ggplot(G_OBJ,aes(hgnc_symbol,Promedio_senal)) + 
  geom_col(aes(fill=structure),position = "dodge")+
  scale_x_discrete("GEN") +
  scale_y_continuous("EXPRESION") +
  labs(title = "GEnes_OBJETIVO")


但是当我运行此命令时,会出现以下错误消息:

  

错误:必须从色调调色板中请求至少一种颜色。

我认为错误在于我尝试使用结构作为填充色的部分,但是我不确定;即使是我不知道要更改以使其正确无误 感谢您的帮助

wwz1989 回答:错误:必须从色调调色板中请求至少一种颜色

这是一种使用geom_bar并将structure作为字符(而不是将其转换为因数)的方法,直接在定义美学参数时使用。

library(tidyverse)
G_OBJ %>% 
  ggplot(aes(x = hgnc_symbol,y = Promedio_senal,fill = as.character (structure))) + 
  geom_bar(stat = "identity",position = position_dodge())+
  scale_x_discrete("GEN") +
  scale_y_continuous("EXPRESION") +
  labs(title = "GENES_OBJETIVO") +
  scale_fill_discrete(name = "structure")

enter image description here

本文链接:https://www.f2er.com/3168384.html

大家都在问