首页 文章

试图向geom_point添加形状[重复]

提问于
浏览
-2

这个问题在这里已有答案:

我正在尝试创建一个带有形状的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 回答

  • 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()将创建其他问题 .

    因此,如错误消息所示,从使用数据帧切换到不同的数据类型 .

相关问题