我正在尝试创建一个带有形状的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]))
答案 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()将创建其他问题。
因此,如错误消息所示,请从使用数据帧切换到其他数据类型。