Мы можем попробовать обходной путь:
# add a fake column
df_2$fake <-rownames(df_2)
library(ggplot2)
# we add as x the fake
ggplot(aes(x=fake, y=Genderity), data=df_2, position="stack")+
geom_bar(stat="identity",aes(fill=Subset),position="dodge")+
coord_flip()+
geom_hline(yintercept = 0, color =c("black")) +
scale_y_continuous(breaks=seq(-5,5,1), limits=c(-5,5))+
# to avoid riffle, we use the scales="free" option
facet_wrap(facets = .~Set, ncol = 2, nrow=1,scales="free")+
# last, we make blank the y axis
theme(axis.title.y=element_blank(),
axis.text.y=element_blank(),
axis.ticks.y=element_blank())
И, если вам нужен порядок в макете, и если вы хотите также пустую ось X, вы можете попробовать это:
# the reorder option:
ggplot(aes(x=reorder(fake,Genderity), y=Genderity), data=df_2, position="stack")+
geom_bar(stat="identity",aes(fill=Subset),position="dodge")+
coord_flip()+
geom_hline(yintercept = 0, color =c("black")) +
scale_y_continuous(breaks=seq(-5,5,1), limits=c(-5,5))+
facet_wrap(facets = .~Set, ncol = 2, nrow=1,scales="free")+
theme(axis.title.y=element_blank(),
axis.text.y=element_blank(),
axis.ticks.y=element_blank(),
# x-axis blank:
axis.title.x=element_blank(),
axis.text.x=element_blank(),
axis.ticks.x=element_blank())
И
+ ggtitle("Conveyed gender")
Даст вам титул.
Edit:
чтобы добавить ярлыки, вы должны:
p <- ggplot(aes(x=reorder(fake,Genderity), y=Genderity), data=df_2, position="stack")+
geom_bar(stat="identity",aes(fill=Subset),position="dodge")+
coord_flip()+
geom_hline(yintercept = 0, color =c("black")) +
scale_y_continuous(breaks=seq(-5,5,1), limits=c(-5,5))+
facet_wrap(facets = .~Set, ncol = 2, nrow=1,scales="free")+
theme(axis.title.y=element_blank(),
axis.text.y=element_blank(),
axis.ticks.y=element_blank(),
# x-axis blank:
axis.title.x=element_blank(),
axis.text.x=element_blank(),
axis.ticks.x=element_blank())
p <- p + ggtitle("Conveyed gender") + geom_text(aes(label=Genderity), hjust=1)
p
Или вы также можете использовать:
+ geom_text(aes(label = Genderity), position = position_dodge(0.9))