Usando símbolos propios para puntos ggplot, cambiando símbolos de leyenda para que coincidan

Estoy trazando una serie de puntos de datos, para los cuales necesito símbolos/formas muy específicos para representar cada país (en realidad no es un país, pero el grupo real no tendrá sentido; estoy copiando un gráfico antiguo y quiero mantener los símbolos coherente). Hay nueve países diferentes para trazar. La forma más fácil que he encontrado para hacer esto hasta ahora es codificar los símbolos que quiero en el marco de datos real de esta manera:

Point    y       x       Country
V      0.316   0.073     UK
P      0.284   0.053     USA
%      0.284   0.061     Germany
+      0.314   0.072     France     
|      0.268   0.075     Spain     
h      0.313   0.0758    Canada
#      0.121   0.0623    Australia
i      0.234   0.0765    India
C      0.213   0.059     Norway

y luego trazando así:

ggplot(data, aes(x, y, label = Point, colour = Point)) + geom_text() 

Pero esto no es particularmente bueno cuando se trata de la leyenda:

enter image description here

¿Cómo podría hacer esto para que los Puntos se conviertan en los símbolos de la leyenda y luego pueda tener los países como las etiquetas de la leyenda?

preguntado el 12 de junio de 14 a las 11:06

1 Respuestas

poner shape=country dentro aes() y elige símbolos usando scale_shape_manual()

x=rnorm(10,1,2)
y=rnorm(10,1,2)
country=letters[1:10]
data=cbind.data.frame(x,y,country)
require(ggplot2)
ggplot(data,aes(x,y,shape=country))+
  geom_point(size=6)+
  scale_shape_manual(values=c("V","%","µ","@","#","V","%","µ","@","#"))

enter image description here

Respondido el 12 de junio de 14 a las 14:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.