R 在ggplot中将几何图形显示为单独的图例

R 在ggplot中将几何图形显示为单独的图例,r,ggplot2,R,Ggplot2,我有一个带有两个geom的绘图,我想在legend 数据: df <- structure(list(sexo = c("Hombres", "Mujeres", "Ambos sexos", "Hombres", "Mujeres", "Ambos sexos", "Hombres", &quo

我有一个带有两个
geom
的绘图,我想在
legend

数据:

   df <- structure(list(sexo = c("Hombres", "Mujeres", "Ambos sexos", 
                        "Hombres", "Mujeres", "Ambos sexos", "Hombres", "Mujeres", "Ambos sexos", 
                        "Hombres", "Mujeres", "Ambos sexos", "Hombres", "Mujeres", "Ambos sexos"),
                     ing_t_p = c(615365.502213837, 423714.908007251, 535311.193293098, 
               627821.976453452, 433415.145738095, 546208.601052767, 664363.627171407, 
               467060.109828569, 581086.381783187, 685007.895112625, 499376.45299215, 
               606399.207890318, 704273.922502823, 506650.544840556, 620528.397683238), 
                     se = c(10529.5553778887, 7210.55027509547, 7718.92697284312, 
          11877.7721047204, 7291.10677673023, 8523.46596771153, 11819.5502743658, 
          7851.50601614168, 8599.97620004388, 14684.6464451213, 9287.24516124394, 
          10906.4036899172, 14883.8815328947, 8761.69267167345, 10604.2123276546), 
                      anio = c(2015, 2015, 2015, 2016, 2016, 2016, 2017, 2017, 2017, 
            2018, 2018, 2018, 2019, 2019, 2019), 
                      brecha = c(-0.31144188862896, -0.31144188862896, -0.31144188862896, -0.309652796503805, 
                 -0.309652796503805, -0.309652796503805, -0.296981215216246, -0.296981215216246, -0.296981215216246, -0.270991682643241, -0.270991682643241, -0.270991682643241, 
              -0.280605842908339, -0.280605842908339, -0.280605842908339)), 
             row.names = c(NA, -15L), class = "data.frame")

所需图例:

我试着玩弄
theme()
参数,并查看了答案,但似乎无法使其起作用。非常感谢您的帮助。

试试以下方法:

ggplot(df)+
geom__bar(aes)(anio,ing___p/1000,
填充=系数(sexo,levels=c(“Mujeres”、“Ambos sexos”、“Hombres”)),
position=“道奇”,stat=“身份”)+
geom_点(aes(anio,brecha*-1000,color=“brecha”),尺寸=5)+
刻度填充手动(数值=c(“红色”、“蓝色”、“橙色”))+
缩放颜色手册(“标签”,值=“#76A7EF”)+
主题(legend.title=element_blank(),
legend.position=“底部”)
试试这个:

ggplot(df)+
geom__bar(aes)(anio,ing___p/1000,
填充=系数(sexo,levels=c(“Mujeres”、“Ambos sexos”、“Hombres”)),
position=“道奇”,stat=“身份”)+
geom_点(aes(anio,brecha*-1000,color=“brecha”),尺寸=5)+
刻度填充手动(数值=c(“红色”、“蓝色”、“橙色”))+
缩放颜色手册(“标签”,值=“#76A7EF”)+
主题(legend.title=element_blank(),
legend.position=“底部”)

Get
美学
为每个
geom
单独设置,明白了。谢谢为每个
geom
分别获取
美学
,明白了。谢谢
ggplot(df, aes(anio, ing_t_p/1000, fill = factor(sexo, levels = c("Mujeres", "Ambos sexos", "Hombres")))) +
  geom_bar(position="dodge", stat="identity") +
  geom_point(aes(anio, brecha*-1000), size = 5, colour = "#76A7EF") +
  theme(legend.title = element_blank(), 
        legend.position = "bottom")