对ggplot点使用自己的符号,更改图例符号以匹配

时间:2014-06-12 10:18:03

标签: r ggplot2

我正在绘制一系列数据点,为此我需要非常具体的符号/形状来代表每个国家(它实际上不是国家,但真正的群体没有任何意义 - 我' m复制旧图并希望保持符号一致)。有九个不同的国家可以策划。到目前为止,我发现这样做的最简单方法是在实际数据帧中编码我想要的符号,如下所示:

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

然后密谋:

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

但对于传奇来说,这并不是特别好:

enter image description here

我怎么能这样做,以便积分成为传奇的符号,然后我可以将这些国家作为传奇的标签?

1 个答案:

答案 0 :(得分:3)

shape=country放入aes()并使用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