按条件填充格子散点图中的圆圈

Filling circles in lattice scatter plot by condition

我有以下代码:

require(lattice)
data <- data.frame(x = c(1,1,2,3,4,5), y = c(5,1,4,6,1,7), 
                   color = c("red", "red", "black", "blue", "yellow", "red"))
data$size <- data$x*data$y*0.2
xyplot(data$y ~ data$x, xlab = "x", ylab = "y", cex = data$size, ylim = c(0,11), xlim = c(0,6))

如您所见,这给出了带有条件圆圈大小的散点图。我想要做的是也按条件填充圆圈(data$color 提供的颜色)。我尝试使用 fill 选项,但它没有给我想要的东西。我将不胜感激关于如何实现这一目标的任何建议。

我们可以将 pch 参数设置为实心圆。

library(lattice)

xyplot(data$y ~ data$x, xlab = "x", ylab = "y", cex = data$size, ylim = c(0,11), xlim = c(0,6),
       col = data$color, pch = 19)