我在使用以下代码段时遇到问题
ggplot(entidad, aes(x=Año, y=promedio, group=Entidad, color=Entidad)) +
geom_point(aes(shape = Entidad), size = 3, position = position_dodge(0.2)) +
geom_errorbar(aes(ymin=promedio-desviación, ymax=promedio+desviación, color = Entidad), width=0.4,
position=position_dodge(0.2)) +
ylim(150,350) + xlim(2015.7,2019.3) +
ylab("Promedio (desviación estándar)") +
geom_text(data = entidad[entidad$Entidad=="ZIPAQUIRÁ",],aes(label = promedio, y = promedio), hjust = 1.8) +
geom_text(data= entidad[entidad$Entidad=="Nacional",], aes(label = promedio, y = promedio), hjust = -0.9) +
geom_text(data = entidad[entidad$Entidad=="ZIPAQUIRÁ",], aes(label = paste("(",desviación,")"), y = promedio),
hjust = 1.5, vjust = 2) +
geom_text(data = entidad[entidad$Entidad=="Nacional",], aes(label = paste("(",desviación,")"), y = promedio),
hjust = -0.45, vjust = 2) +
scale_color_manual(values=c(rgb(0,81,160, maxColorValue = 255),
rgb(58, 170, 53, maxColorValue = 255)),
breaks = c("ZIPAQUIRÁ", "Nacional")) +
#scale_fill_manual(values = c(rgb(116, 141, 199, maxColorValue = 255),
# Nacional = rgb(164, 200, 70, maxColorValue = 255)),
# breaks = c("ZIPAQUIRÁ", "Nacional")) +
theme(
panel.background = element_rect(fill = "white", colour = rgb(198,
198,
198,
maxColorValue = 255),
size = 1, linetype = "solid"),
#panel.grid.major = element_line(size = 0.1, linetype = 'dashed',
# colour = rgb(198,198,198,
# maxColorValue = 255))
panel.grid.minor = element_line(size = 0.1, linetype = 'dashed',
colour = rgb(198,198,198,
maxColorValue = 255))
)
它将返回图:
我不明白为什么我有两个图例标记为“实体”,我只希望底部的一个出现。我的第二个问题是,我希望项目“ZIPAQUIRá”是蓝色,“国家”是绿色。
有人知道我怎么才能做到吗?
1条答案
按热度按时间j5fpnvbx1#
“Entidad”有两个图例,因为它Map到两个美学元素-
shape
和color
。要删除美学图例(在您的情况下,上面的图例是shape
),只需添加(使用+
)scale_color_manual
中的颜色遵循因子的顺序,因此如果您希望“ZIPAQUIR α”(第二个因子,它们是字母表,与您为breaks
指定的顺序无关)为蓝色,请将蓝色作为第二种颜色,如下所示:一些模拟数据使其可重现: