Относительно fct_relevel и scale_fill_manual

#r #ggplot2

Вопрос:

Я пытаюсь создать группу графиков, которые представляют взаимосвязь между продуктом(x) и количеством жалоб потребителей (y). Мне было интересно, как использовать fct_relevel , чтобы изменить порядок сюжетов. Сейчас они расположены в алфавитном порядке, но я бы хотел, чтобы они были в порядке календарного года. Кроме того, я использовал scale_fill_manual , чтобы изменить цвет сюжета, но это, похоже, не работает. Любая помощь будет признательна!

Это результат, который у меня есть на данный момент.

Это тот результат, который я ищу.

 library(tidyverse)
library(forcats)

cc <- read.csv('C:\Users\Emma Ping\Desktop\STAT 405\consumer_complaints.csv')
cc1 <- cc[cc$Year == "2015" amp; cc$submitted_via == "Web", ]

cbPalette <- c("#CC79A7", "#D55E00", "#56B4E9", "#F0E442", "#009E73", "#0072B2", "#999999", "#E69F00")

p4 <- ggplot(cc1, aes(reorder(product, -table(product)[product])))   
       geom_bar()   
       ggtitle("Number of Monthly Web Consumer Complaints for the year 2015") 
       xlab("Data Products")   
       ylab("Number of Consumer Web Complaints")  
       guides(fill = "none") 
       scale_fill_manual(values = cbPalette) 
       facet_wrap(~Month, ncol=4, scales="free_y") 
       theme(axis.text.x = element_text(angle = 90, hjust=1, size=12))
p4  
 

Ответ №1:

Существует несколько встроенных констант, и month.name это одна из них. Похоже, что ваши месяцы написаны одинаково, так что это должно сработать:

  cc1$Month <- factor(cc1$Month, levels=month.name)
 

Обратите внимание, что это не months.names или month.names .