使用基本图形重新创建ggplot2 geom_point()

pag*_*gid 5 plot r ggplot2

我有以下ggplot2代码,我想使用基本图形而不是ggplot2来生成类似的输出 - 但我似乎无法找到一种方法来区分多个"属性"与正常情节.我错过了什么:

GGPLOT2:

ggplot(data.df, aes(x=Axis1, y=Axis2, shape=Plant, color=Type)) +
geom_point()
Run Code Online (Sandbox Code Playgroud)

我的情节尝试(内联帮助让我有点相似):

data.ma <- as.matrix(data.df)

plot(range(data.ma[,6]), range(data.ma[,7]),xlab="Axis 1",ylab="Axis 2")
points(data.ma[data.ma[,1] == 'Plant1',6],
   data.ma[data.ma[,1] == 'Plant1',7], pch=2)
points(data.ma[data.ma[,1] == 'Plant2',6],
   data.ma[data.ma[,1] == 'Plant2',7], pch=3)
legend(0,legend=c("Plant1","Plant2"))
Run Code Online (Sandbox Code Playgroud)

这给了我一个图,其中至少可以在图中区分"植物"类型,但它确实看起来很复杂,我无法弄清楚如何根据"类型"行更改所有点的颜色.

有什么建议?

编辑 - 一个数据示例//我意识到我第一次尝试使用情节甚至没有给出正确的例子:(:

library(ggplot2)
data.df <- data.frame(
  Plant=c('Plant1','Plant1','Plant1','Plant2','Plant2','Plant2'),
  Type=c(1,2,3,1,2,3),
  Axis1=c(0.2,-0.4,0.8,-0.2,-0.7,0.1),
  Axis2=c(0.5,0.3,-0.1,-0.3,-0.1,-0.8)
)


ggplot(data.df, aes(x=Axis1, y=Axis2, shape=Plant, color=Type)) +
geom_point()

data.ma <- as.matrix(data.df)
plot(range(data.ma[,3]), range(data.ma[,4]),xlab="Axis 1",ylab="Axis 2")
points(data.ma[data.ma[,1] == 'Plant1',3],
       data.ma[data.ma[,1] == 'Plant1',4], pch=2)
points(data.ma[data.ma[,1] == 'Plant2',3],
       data.ma[data.ma[,1] == 'Plant2',4], pch=3)
legend(0,legend=c("Plant1","Plant2"))
Run Code Online (Sandbox Code Playgroud)

Jus*_*tin 3

使用基本图和您的数据集:

with(data.df, 
     plot(x = Axis1, 
          y = Axis2, 
          col = factor(Type),                 
          pch = as.integer(factor(Plant))))
Run Code Online (Sandbox Code Playgroud)

这符合您的要求吗?我将把图例留给读者作为练习......