试图向geom_point添加形状

时间:2016-12-08 02:53:02

标签: r ggplot2

我正在尝试创建一个带有形状的geom_point,我可以调整到数据点大小和颜色,但是当我输入aes(shape = Messi [4])时,我收到错误消息:

  

不知道如何自动为data.frame类型的对象选择比例。默认为连续。

Messi[1:4]
   X  Y   xG Result
1  7 46 0.11      1
2  7 43 0.15      1
3 10 51 0.15      2
4 13 45 0.08      2
5  6 35 0.05      2
6 10 52 0.11      3
7  4 50 0.25      3
8 11 57 0.08      3
9  9 34 0.04      3

ggplot(Messi, aes(Messi[1], Messi[2])) +
   geom_point(aes(colour = Messi[3], size = Messi[3]))

1 个答案:

答案 0 :(得分:1)

我不会称之为错误信息,我会称之为通知。

以下是使用虹膜数据集发生的事情。

iris[1]iris[,1]iris$Sepal.Length不同。 如果你在每个上面运行类,你会发现它们是不同的,iris[1]是一个data.frame。 ggplot2不期望数据帧。

此外,您需要使形状变量不是连续的,例如将其视为一个因素。

因此

ggplot(iris, aes(x=iris[1], y = iris[2])) + geom_point(aes(shape=as.factor(iris[5])))

生成错误但

ggplot(iris, aes(x=iris[,1], y = iris[,2])) + geom_point(aes(shape=as.factor(iris[,5])))

ggplot(iris, aes(x=Sepal.Length, y = Sepal.Width )) + 
  geom_point(aes(shape=as.factor(Species)))

不要。 请注意,默认情况下,ggplot限制为6个形状(尽管您可以覆盖),因此如果将其应用于其他变量,则.factor()将创建其他问题。

因此,如错误消息所示,请从使用数据帧切换到其他数据类型。