Изменение порядка штриховой диаграммы в столбчатой строке

#r #ggplot2

#r #ggplot2

Вопрос:

Кто-нибудь может помочь мне изменить порядок гистограммы. Здесь легенда отображается в правильном формате, но не знаю, почему диаграмма изменена

ожидаемый результат

мой вывод

 ggplot(x,aes(x=Total,y=Type,fill=status)) 
  geom_bar(stat='identity',width=0.2) 
  theme_classic() 
  #geom_text(aes(label = stat(x),group = Type),stat = "summary",fun = sum,vjust = .20,hjust= 1) 
  theme(axis.line.y = element_blank(),axis.ticks = element_blank(),legend.position = "bottom",
        axis.text.x = element_text(face = "bold", color = "black", size = 10, angle = 45, hjust = 1)) 
  labs(x="", y="", fill="") 

 scale_fill_manual(values=c("#284a8d", "#00B5CE"))
 

Комментарии:

1. Пожалуйста, приложите некоторые примеры данных, чтобы мы могли воспроизвести проблему, например, скопировать выходные dput(x) данные .

2. А также скажите мне, как добавить итоги для каждого столбца, обратитесь к изображению для получения более подробной информации @teunbrand

3. есть ли какой-либо другой способ решить эту проблему, например, с помощью ggplotly или любой другой идеи @teunbrand

Ответ №1:

Это настолько близко, насколько я мог это понять:

 library(ggplot2)

ggplot(x,aes(x=Total,y=Type,fill=factor(status, c("Open", "Closed")))) 
  geom_bar(stat='identity',width=0.2) 
  geom_text(aes(label = after_stat(x)),
            stat = "summary",fun.data = function(x){data.frame(y = sum(x))}, 
            hjust= 0, position = position_stack(0)) 
  geom_text(aes(label = after_stat(x), group = Type),
            stat = "summary",fun.data = function(x){data.frame(y = sum(x))}, 
            hjust= 0, position = position_stack(1)) 
  labs(x="", y="", fill="") 
  scale_fill_manual(values=c("#284a8d", "#00B5CE"), 
                    limits = c("Closed", "Open"))  
  theme_classic()  
  theme(axis.line.y = element_blank(),
        axis.ticks = element_blank(),
        legend.position = "bottom",
        axis.text.x = element_text(face = "bold", color = "black", 
                                   size = 10, angle = 45, hjust = 1))
 

введите описание изображения здесь

Комментарии:

1. именно этого я и хочу, но можете ли вы удалить лишние числа 17,29,113@tenubrand обратитесь к изображению для уточнения

2. Да, просто закомментируйте или удалите вторую geom_text() .

3. посмотрите на EIC, принятый на изображении, для справки @tenubrand

4. color = ifelse(x $ status == «Закрыто», «#FFFFFF»,»#000000″) согласно изображению, мне нужно показать закрытое белым цветом, но при использовании кода внутри geom_text я столкнулся с ошибкой, дайте мне знать об этом