varias superponer studio libreria histogramas gráficos graficos graficas ggplot con r ggplot2 arrows

superponer - Cómo dibujar una bonita flecha en ggplot2



superponer graficas en r ggplot (2)

Usualmente uso geom_segment para crear flecha. Pero para hacer eso tenemos que modificar los datos del formato "largo" al "ancho" (usualmente usando dcast del paquete reshape2 o data.table ). Pero esta vez intenté usar la función de reshape base .

ggplot(DATA, aes(x=VALUE, y=NAME)) + geom_point(size=5, aes(colour=YEAR)) + geom_segment(data = reshape(DATA, v.names="VALUE", idvar = "NAME", timevar = "YEAR", direction = "wide"), aes(x=VALUE.2011, xend=VALUE.2016, y=NAME, yend=NAME), size = 2, arrow = arrow(length = unit(0.5, "cm")))

EDITAR : Acabo de encontrar que el mismo problema pertenece a las flechas de tipo "cerrado". Por ahora, intente guardar el diagrama como un gráfico vectorial (pdf o svg, usando ggsave o el menú Exportar en la pestaña Plots). El resultado no es "desordenado".

Estoy creando un diagrama ggplot donde quiero tener algunas flechas entre dos puntos. La tarea principal se realiza fácilmente con geom_line(arrow = arrow()) . Sin embargo, quiero tener algunas flechas gruesas "bellas". Cambiar el tamaño de la flecha a través del size= no ayuda, ya que desordena la cabeza de la flecha por completo. Ilustraré mis problemas:

Crea algunos datos de muestra y un diagrama:

NAME <- c("A", "A", "B", "B", "C", "C") YEAR <- c(2016, 2011, 2016, 2011, 2016, 2011) YEAR <- as.factor(YEAR) VALUE <- c(1, 4, 1, 5, 2, 8) DATA <- data.frame(NAME, YEAR, VALUE) ggplot(DATA, aes(x=VALUE, y=NAME)) + geom_point(size=5, aes(colour=YEAR)) + geom_line(arrow = arrow(length=unit(0.30,"cm"), ends="first", type = "closed"))

El diagrama resultante se ve así:

Ahora he tratado de "espesar" las flechas ...

ggplot(DATA, aes(x=VALUE, y=NAME)) + geom_point(size=5, aes(colour=YEAR)) + geom_line(arrow = arrow(length=unit(0.30,"cm"), ends="first", type = "closed"), size = 3)

Ese es el resultado que se muestra aquí:

Mi pregunta: ¿hay alguna manera de trazar algunas flechas gruesas "bellas"?


En la última devtools::install_github("tidyverse/ggplot2") (y me refiero a devtools::install_github("tidyverse/ggplot2") más reciente, al momento de escribir esta respuesta, estoy seguro de que lo harán lo suficientemente pronto) versión de ggplot2 , hay un argumento de geom_segment de geom_segment para geom_segment . Usar linejoin=''mitre'' proporcionará bordes nítidos. Mira lo siguiente para más detalles .