Diferentes longitudes de línea en la leyenda horizontal en R
Quiero crear una leyenda horizontal con varias líneas (de diferentes longitudes) y el texto debajo de cada línea. Tengo el siguiente código:
library(RColorBrewer)
colorlevel <- brewer.pal(n = 5, name = 'Set1')
plot.new()
a <- legend("topleft",
legend =c("", "", "", "", "", ""),
lty = 1,
lwd = 4,
bty='o',
seg.len= c(rep(1.5,5), 4),
col = colorlevel,
horiz = TRUE,
trace=TRUE
)
text(a$text$x-0.05, a$text$y, c("A", "B", "C", "D", "E", "F"), pos=1)
que produce la siguiente leyenda:
Sin embargo, hay algunos problemas que no puedo resolver:
1) La última línea (la más larga, correspondiente a F) debe mantener la misma separación que todas las demás líneas, pero está bastante separada.
2) Aunque quiero que la distancia entre las líneas de colores sea la misma, ¿hay alguna forma de ajustar esta separación?
3) El borde de la leyenda está demasiado cerca del texto, etc. ¿Se puede ajustar?
Gracias de antemano.
davy.ai
Para abordar los problemas con la leyenda actual, aquí van algunas sugerencias:
1) Para mantener la misma separación en la última línea, puedes ajustar el parámetro
seg.len
de esa línea específica a un valor más pequeño (por ejemplo, 2 en lugar de 4). Esto hará que la línea sea más corta y la mantendrá más cerca de las otras líneas.2) La separación entre las líneas de color está controlada por el parámetro
seg.len
, por lo que puedes ajustar eso para aumentar o disminuir la distancia entre las líneas. Puedes probar diferentes valores hasta encontrar la separación deseada.3) Para ajustar el borde de la leyenda, puedes usar el parámetro
border
para cambiar el color del borde, y los parámetrosbox.lwd
ybox.col
para ajustar el ancho y color del borde. Por ejemplo:Al ajustar estos parámetros, puedes crear una leyenda personalizada que cumpla con tus requisitos específicos.