Первое, на что я бы хотел обратить внимание, - это поместить ваши продукты в качестве фактического столбца в вашем data.frame.
cafe$item <- factor(rownames(cafe), levels = unique(rownames(cafe)))
Далее вы хотели бы построить сюжет. Добавьте элемент в aes()
как цвет.
ggplot(df, aes(X, Y, colour = item)) +
geom_point() +
scale_colour_manual(
breaks = levels(cafe$item),
limits = levels(cafe$item),
values = c("orange", "darkorange", "orange2", "darkorange2",
"dodgerblue", "blue", "deepskyblue",
"limegreen","forestgreen","green","lawngreen")
)
Теперь хитрый бит правильно определяет порядок продуктов, что делается через breaks
и limits
внутри scale_colour_manual()
. Немного работы - это выбрать цвета для ваших продуктов, которые вам нравятся, но вы можете экспериментировать с цветами. Вот как выглядел сюжет для меня:
Я не знаю, откуда произошли ошибки в вашем group_by()
, но я не думаю, что вам это понадобится для составления сюжета. Удачи!