我有一个数据集,其中我的 item_id 列有分类数据,其中之一是 FOODS_1_012。它的销售数字明显高于其他类别,我想将它分成自己的情节,同时将其余类别保留在自己的情节中。这可能吗?
这是我的代码:
#facet wrap of monthly sales by item and store.
grocery_tsibble %>%
filter(state_id == "TX") %>%
group_by(time = month, store_id, item_id) %>%
summarise(sales=sum(sales)) %>%
ggplot(aes(x=as.Date(month), y=sales, color = item_id)) +
geom_line() +
facet_wrap(~store_id) +
theme_clean() +
ggtitle("Line Plot") +
xlab("Year - Months") + ylab("Sales") +
scale_x_date(date_breaks = "5 months", labels = scales::date_format(format = "%y-%m")) +
scale_y_continuous(n.breaks = 10) +
theme(legend.position="bottom",
legend.text = element_text(size=7),
legend.title = element_text(size=7, vjust = 0.7),
legend.key.size = unit(0.5, 'cm'),
axis.text.x = element_text(angle = 90, hjust = 1),
panel.grid.major.x = element_line(color = "gray",
size = 0.5,
linetype = 3),
plot.margin = margin(.35,.75,.35,.35, "cm"),
plot.title = element_text(color="#6b5b5a", size=14,
face="bold.italic",hjust = 0.5),
axis.title.x = element_text(color="#6b5b5a",
size=10,
face="bold"),
axis.title.y = element_text(color="#6b5b5a",
size=10,
face="bold"),
strip.background =element_rect(fill="#494d54"),
strip.text = element_text(colour = 'white'))
这是输出,您可以看到 FOOD_1_012 非常高,所以我想将它分成自己的图并在每个商店内进行比较。因此,例如 TX_1 和其余部分等,每个下方都有两个地块。一个是 FOOD_1_012,另一个是剩余的分类数据。
也许你可以从这个开始,看看它会把你带到哪里:
grocery_tsibble %>%
filter(state_id == "TX") %>%
group_by(time = month, store_id, item_id) %>%
summarise(sales=sum(sales)) %>%
mutate(facet.sales = ifelse(item_id == "FOODS_1_012",
"High sales volume",
"Low sales volume")) %>%
ggplot(aes(x=as.Date(month), y=sales, color = item_id)) +
geom_line() +
facet_grid(rows = vars(facet.sales),
cols = vars(store_id),
scales = "free_y") # + all the scale / theme specifications in your code