我现在的传说是这样的:

因为我手动给每个条形分配颜色。我制作了2021年黄色和2022年蓝色,但我只想让这个传说显示:
年 (黄色图标) 2021 (蓝色图标) 2022
我试过在任何地方搜索,但是我找不到ggplot的功能。我如何手动分类图形中的图例标签?
这是我的密码:
ggplot(dataset3, aes(x= datum, y = transacties, fill = datum)) +
geom_bar(stat="identity") +
scale_fill_manual(values=c("2021-04" = "#FFBD33",
"2021-05" = "#FFBD33",
"2021-06" = "#FFBD33",
"2021-07" = "#FFBD33",
"2021-08" = "#FFBD33",
"2021-09" = "#FFBD33",
"2021-10" = "#FFBD33",
"2021-11" = "#FFBD33",
"2021-12" = "#FFBD33",
"2022-01" = "#203269",
"2022-02" = "#203269",
"2022-03" = "#203269",
"2022-04" = "#203269"))这是我的数据:
dput (dataset3)
structure(list(transacties = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1), datum = c("2021-10", "2021-11", "2021-09",
"2021-09", "2021-09", "2022-03", "2022-03", "2021-11", "2021-08",
"2021-06", "2022-03", "2021-06", "2022-04", "2021-12", "2021-08",
"2021-09", "2021-11", "2021-09", "2022-04", "2021-05", "2021-07",
"2021-11", "2022-01", "2021-10", "2022-03", "2022-04", "2022-02",
"2021-12", "2021-11", "2021-12", "2021-11", "2021-08", "2022-02",
"2022-02", "2021-07", "2021-11", "2022-01", "2022-03", "2021-10",
"2021-10", "2021-09", "2021-10", "2022-04", "2022-01", "2022-03",
"2021-11", "2021-09", "2021-09", "2021-07", "2021-10", "2021-08",
"2022-03", "2022-02", "2021-12", "2021-12", "2022-01", "2021-12",
"2022-04", "2022-01", "2022-03", "2022-03", "2021-06", "2021-09",
"2021-12", "2021-06", "2021-05", "2021-06", "2021-07", "2021-12",
"2021-12", "2021-06", "2021-08", "2021-05", "2022-02", "2021-12",
"2021-10", "2021-07", "2022-01", "2021-09", "2021-09", "2021-09",
"2021-12", "2021-05", "2021-05", "2021-10", "2021-05", "2021-11",
"2022-01", "2021-10", "2021-05", "2021-11", "2022-01", "2021-11",
"2022-03", "2021-11", "2021-10", "2022-02", "2022-02", "2021-10",
"2021-11", "2021-05", "2021-09", "2021-08", "2022-04", "2021-08",
"2021-11", "2021-09", "2022-01", "2022-01", "2021-04", "2022-03",
"2021-12", "2022-03", "2022-03", "2021-05", "2021-06", "2022-03",
"2021-06", "2021-09", "2022-01", "2021-08", "2021-07", "2022-02",
"2021-08", "2021-06", "2022-04", "2022-02", "2021-07", "2021-10",
"2021-10", "2021-10", "2021-08", "2022-03", "2021-07", "2021-11",
"2021-11", "2022-02", "2022-04", "2021-08", "2021-10", "2021-11",
"2021-10", "2022-04", "2021-08", "2022-02", "2022-01", "2021-12",
"2021-12", "2021-05", "2021-04", "2021-09", "2022-02", "2022-04",
"2021-11", "2021-06", "2021-10", "2021-12", "2021-11", "2021-05",
"2022-01", "2021-05", "2022-01", "2022-03", "2022-04", "2021-06",
"2021-09", "2021-06", "2021-08", "2021-10", "2022-03", "2022-04",
"2021-08", "2021-06", "2021-09", "2022-03", "2021-12", "2021-12",
"2021-12", "2022-04", "2021-12", "2021-12", "2021-09", "2021-11",
"2021-07", "2021-07", "2022-03", "2021-08", "2021-10", "2021-07",
"2022-04", "2022-04", "2022-04", "2021-11", "2021-12", "2022-03",
"2021-11", "2022-02", "2022-04", "2021-06", "2021-07", "2022-04",
"2021-10", "2021-10", "2022-01", "2022-02", "2021-07", "2021-09",
"2021-05", "2021-09", "2022-03", "2021-08", "2021-12", "2021-11",
"2022-01", "2022-04", "2021-12", "2021-10", "2021-05", "2022-01",
"2022-01", "2022-04", "2021-06", "2021-05", "2021-11", "2021-05",
"2021-08", "2022-04", "2022-02", "2021-06", "2021-08", "2022-02",
"2022-03", "2022-02", "2021-09", "2021-07", "2022-04", "2021-09",
"2022-04", "2022-01", "2021-07", "2021-12", "2021-06", "2022-03",
"2021-04", "2021-06", "2022-01", "2022-03", "2022-02", "2022-04",
"2021-12", "2021-08", "2022-03", "2021-04", "2021-12", "2021-11",
"2022-03", "2022-03", "2021-12", "2021-06", "2021-06", "2022-03",
"2021-07", "2022-02", "2021-08", "2021-05", "2021-08", "2021-10",
"2021-09", "2021-09", "2022-02", "2021-09", "2021-09", "2021-08",
"2021-06", "2021-07", "2022-02", "2022-02", "2021-07", "2022-04",
"2022-02", "2021-05", "2021-11", "2022-04", "2021-09", "2022-04",
"2021-06", "2021-06", "2021-12", "2021-07", "2021-11", "2021-05",
"2021-12", "2021-11", "2021-05", "2021-11", "2021-05", "2021-11",
"2021-12", "2021-09", "2022-04", "2022-04", "2022-01", "2021-08",
"2021-10", "2021-05", "2022-04", "2021-07", "2021-11", "2021-04",
"2021-12", "2021-06", "2021-06", "2021-09", "2022-03", "2021-05",
"2021-12", "2022-04", "2021-05", "2021-09", "2021-09", "2021-09",
"2021-09", "2021-08", "2021-07", "2021-05", "2022-04", "2022-04",
"2021-12", "2022-02", "2022-04", "2021-10", "2022-03", "2022-04",
"2022-02", "2021-09", "2021-07", "2021-06", "2021-09", "2022-02",
"2021-06", "2021-12", "2022-03", "2021-10", "2021-12", "2022-02",
"2021-07", "2021-07", "2022-03", "2022-01", "2021-11", "2022-02",
"2021-12", "2021-06", "2022-02", "2021-10", "2021-04", "2021-05",
"2021-11", "2021-10", "2021-10", "2022-01", "2022-01", "2021-10",
"2022-01", "2021-07", "2021-10", "2021-05", "2021-07", "2021-11",
"2021-11", "2021-08", "2021-05", "2021-06", "2022-04", "2021-05",
"2021-11", "2021-06", "2021-09", "2021-05", "2021-05", "2021-05",
"2021-08", "2021-10", "2021-12", "2021-10", "2022-01", "2022-03",
"2021-09", "2021-07", "2021-07", "2022-02", "2021-06", "2021-09",
"2021-07", "2021-10", "2022-03", "2021-11", "2022-02", "2022-02",
"2022-01", "2021-08", "2022-04", "2021-05", "2021-07", "2022-03",
"2021-08", "2021-09", "2021-05", "2021-11", "2021-09", "2022-03",
"2021-05", "2021-05", "2021-08", "2022-02", "2021-07", "2021-05",
"2021-11", "2022-04", "2021-12", "2021-09", "2022-04", "2021-12",
"2022-02", "2021-09", "2022-01", "2022-04", "2021-06", "2021-07",
"2022-03", "2021-10", "2021-09", "2021-09", "2021-04", "2021-05",
"2021-08", "2021-09", "2022-04", "2021-08", "2021-11", "2022-02",
"2021-06", "2021-12", "2021-11", "2021-06", "2022-03", "2021-08",
"2021-08", "2021-09", "2021-12", "2021-12", "2022-01", "2022-03",
"2022-04", "2021-08", "2022-04", "2021-05", "2021-07", "2022-02",
"2021-07", "2021-12", "2021-09", "2021-04", "2021-10", "2022-04",
"2021-08", "2021-06", "2021-05", "2021-04", "2021-12", "2021-07",
"2022-01", "2022-01", "2022-01", "2021-11", "2021-08", "2021-06",
"2021-04", "2021-12", "2021-09", "2021-07", "2021-11", "2021-07",
"2021-04", "2021-06", "2021-08", "2021-05", "2022-03", "2021-07",
"2021-11", "2021-11", "2021-09", "2021-10", "2021-10", "2021-09",
"2021-10", "2021-07", "2022-02", "2021-06", "2021-07")), class = c("tbl_df",
"tbl", "data.frame"), row.names = c(NA, -500L))发布于 2022-04-21 16:17:58
首先,我创建了一个名为year的新列,它是您的第一个-之前的字符串。而不是使用该列来fill数据,这将创建您想要的图例。您可以使用以下代码:
library(tidyverse)
dataset3 %>%
mutate(year = sub("\\-.*", "", datum)) %>%
ggplot(aes(x= datum, y = transacties, fill = year)) +
geom_bar(stat="identity") +
scale_fill_manual(values=c("2021" = "#FFBD33", "2022" = "#203269"))输出:

https://stackoverflow.com/questions/71957479
复制相似问题