У вас есть две легенды о «Энтидаде», потому что он сопоставлен с двумя эстетиками - shape
и color
. Чтобы удалить легенду для эстетики c (в вашем случае верхняя легенда для shape
), вы можете просто добавить (с +
)
guides(shape = FALSE)
Цвета в scale_color_manual
следуйте порядок факторов, поэтому, если вы хотите, чтобы "ZIPAQUIRÁ" (второй фактор, они были буквенно c независимо от порядка, который вы указали для breaks
) был синим, сделайте синий вторым цветом следующим образом:
scale_color_manual(values=c(rgb(58, 170, 53, maxColorValue = 255),
rgb(0,81,160, maxColorValue = 255)),
breaks = c("ZIPAQUIRÁ", "Nacional"))
Некоторые смоделированные данные, чтобы сделать это воспроизводимым:
set.seed(123)
entidad <- data.frame(Año = c(2016, 2016, 2017, 2017, 2018, 2018, 2019, 2019),
promedio = as.integer(runif(8, 200, 300)),
desviación = as.integer(runif(8, 25, 50)),
Entidad = rep(c("ZIPAQUIRÁ", "Nacional"), 2))
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) +
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(58, 170, 53, maxColorValue = 255),
rgb(0, 81, 160, 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.minor = element_line(
size = 0.1,
linetype = 'dashed',
colour = rgb(198, 198, 198,
maxColorValue = 255)
)
) +
guides(shape = FALSE)