Изменить порядок легенды и баров для сгруппированной гистограммы - PullRequest
0 голосов
/ 26 марта 2019

вывод Использование печати Rmarkdown в PDF.

Я создал функцию макроса, но мне не удается исправить порядок легенды для сгруппированных гистограмм.

Созданная таблица данных имеет 4 столбца.1- местоположение: (Испания, Португалия, Украина) 2- Уровни соглашения: (полностью согласен, согласен, не согласен, полностью не согласен, отсутствует) 3- уровни ID, соответствующие уровням соглашения (1, 2, 3, 4 и 0отсутствует) 4- Подсчет значений

Я хотел бы создать сгруппированную гистограмму (группирование по местоположению) и нанести на график значения подсчета для каждого уровня соглашения.

ПРИМЕЧАНИЕ !!Поскольку это макрофункция, иногда уровни соглашения могут изменяться до уровня, близкого к уровню удовлетворенности (крайне неудовлетворенный, неудовлетворенный, удовлетворенный, чрезвычайно удовлетворенный).Вот почему я включаю числовые уровни идентификатора.

Моя проблема в том, что я не могу упорядочить свои легендарные / сгруппированные гистограммы по порядку.

Я могу использовать уровни идентификатора для заказа, но тогда моя легенда отображает только цифры, которые бесполезны.Мне нужна легенда, чтобы отобразить, что представляют цифры (1 = полностью согласен, 2 = согласен ext)

Есть ли способ упорядочить мои уровни по id (0,1,2,3,4), нопоказать их значения?

Я пробовал forcats, reorder, factor / level, groupby ... но все еще не получается получить правильный вывод

Приложены некоторые изображения моего текущего вывода, но, как показано, мне все еще нужно исправить порядок уровней / легенды.

macrofunction <- function(df_table) {
plots = ggplot(df_table, aes(x=location, y=as.numeric(df_table$Value), fill=levels)) +
   geom_bar(stat="identity", position=position_dodge()) }

1 Ответ

0 голосов
/ 26 марта 2019

Для всех, кто был заинтересован, я выбрал другой подход к решению проблемы. Я закончил тем, что использовал facet_wrap, чтобы обойти проблему.

plots = ggplot (df_table, aes (x = id, y = as.numeric (df_table $ Value), fill = Response)) + geom_bar (stat = "identity", position = position_dodge ()) + facet_wrap (~ местоположение) +

...