Я борюсь с порядком баров в ggplot.Для простоты: вот код, который я использую для создания графика:
plot_data <- data() %>%
filter(Name %in% input$polymers)
print(plot_data)
ggplot(data = plot_data, aes(x = ID_Polymer, y = value), position = position_dodge(width = 1)) +
geom_bar(aes_string( fill=razeni()), position = position_dodge(width = 1), stat="identity", color="white")+
theme_minimal() +
theme(legend.text=element_text(size=21))+
theme(text = element_text(size=21))+
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank()) +
ggtitle(input$title_text_box_id) +
labs(x = "", y = input$ylabel_text_box_id) +
geom_text(aes(x = ID_Polymer, y = value,Group=Polymer,label=value),
position = position_dodge(width = 1),vjust=2, size=5,colour = "white", fontface = "bold") +
scale_fill_tableau("Tableau 10")+
scale_x_discrete(labels=c(xpopisky()))#puts a reactive in x labels
Аргумент заполнения является реактивным, который пользователь выбирает в блестящем приложении.Результаты выглядят так:
Мне бы хотелось, чтобы две синие полосы и две красные полосы были рядом, как в этом посте ggplot не может группировать полосы
Хитрость заключается в том, что аргументы заполнения изменяются в зависимости от ввода пользователя из блестящего приложения и поэтому должны менять порядок баров.
что-то вроде: aes_string(dodge = razeni())
или aes_string(order = razeni())
Я надеюсь, что проблема ясна, и я буду рад любым предложениям о том, как с ней бороться.