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

avatar
cocoatherapy
1 июля 2021 в 16:42
26
1
0

Я пытаюсь построить группу графиков, представляющих взаимосвязь между продуктом (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" & 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)

avatar
IRTFM
1 июля 2021 в 16:57
0

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

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

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