r - manipulation - ggtitle position
ggplot2 cada grupo consiste en una sola observación (2)
Necesitas ajustar la estética del grupo, reemplazar:
geom_line(position=pd)
por
geom_line(position=pd,aes(group=name))
Estoy tratando de trazar la gráfica usando ggplot2
Así que tengo el siguiente marco de datos:
iter se perf name
1 V1 0.6463573 12.8 e
2 V2 0.3265986 16.8 e
3 V3 0.2333333 19.1 e
4 V4 0.1000000 19.9 e
5 V5 0.0000000 20.0 e
6 V1 0.7483315 12.6 f
7 V2 0.6333333 16.3 f
8 V3 0.6798693 18.8 f
9 V4 0.2236068 19.5 f
10 V5 0.1000000 19.9 f
y estoy tratando de trazarlo en un formato similar al de esta page (debajo de Gráficos de líneas).
Así que aquí está el código para trazar:
pd <- position_dodge(.1)
ggplot(df, aes(x=iter, y=perf, colour=name)) +
geom_errorbar(aes(ymin=perf-se, ymax=perf+se), width=.1, position=pd) +
geom_line(position=pd) +
geom_point(position=pd)+
ylim(0, 20)
y está funcionando muy bien: , excepto que quiero que estos puntos estén conectados. Intenté agregar group=1
o group=name
a esta parte aes(x=iter, y=perf, colour=name)
pero no ayudó.
También recibo estas advertencias:
ymax not defined: adjusting position using y instead
ymax not defined: adjusting position using y instead
geom_path: Each group consist of only one observation. Do you need to adjust the group aesthetic?
Después de buscar en Internet, descubrí que los dos primeros se deben a position_dodge, pero creo que se debe al ggplot, el tercero en realidad se debe a mis puntos desconectados.
¿Alguna idea de cómo conectarlos?
compruebe si el tipo de datos es factor utilizando is.factor(x)
, si es TRUE
, luego use la función as.integer
.