заговорить одни и те же записи в разные бары в ggplot2 - PullRequest
1 голос
/ 06 февраля 2020

Приведенный ниже код ggplot R будет отображать график, в котором NA записи автоматически объединяются в одну полосу. Можно ли построить их как отдельные столбцы? Спасибо

df<-cbind.data.frame("Spp"=c("calb",NA,NA,"cglab"),
                     "col"=c("black","red","blue","green"),
                     "N"=c(10,20,30,40))
df$col <- factor(df$col, levels = c("black","red","blue","green"))

ggplot(df, aes(x=Spp, y=N, fill=col)) + 
  geom_bar(position="stack", stat="identity")+coord_flip()+
  geom_text(aes(label=N),size = 5, position = position_stack(vjust = 0.5))+theme_bw()+
  scale_fill_manual(values = as.character(df$col))

enter image description here

1 Ответ

0 голосов
/ 06 февраля 2020

Вы можете попробовать что-то вроде этого ... Я надеюсь, что вы правильно поняли

df<-cbind.data.frame("Spp"=c("calb",NA,NA,"cglab"),
                     "col"=c("black","red","blue","green"),
                     "N"=c(10,20,30,40))
df$col <- factor(df$col, levels = c("black","red","blue","green"))

ggplot(df, aes(x=col, y=N, fill=col)) + 
  geom_bar(stat="identity")+coord_flip()+
  geom_text(aes(label=N),size = 5, position = position_stack(vjust = 0.5))+
  theme_bw()+
  scale_fill_manual(values = as.character(df$col))+
  scale_x_discrete(labels=df$Spp)

enter image description here

...