我想知道是否可以根据ggplot2中的x和y值分配点颜色?

例如,我要分配点(x = 4)为绿色。

我知道可以通过对数据框进行细分,然后将它们绘制在一起来完成,但是我想知道是否有一种简单的方法。

library(ggplot2)
data("iris")
ggplot() + geom_point(data = iris, aes(x = Petal.Width,
                      y = Petal.Length))


r - 根据x和y值分配点颜色-LMLPHP

最佳答案

试试这个:

library(dplyr)
library(ggplot2)

my_data <- iris %>%
  mutate(width_length = paste0(cut(Petal.Width, c(0, 0.75, 2.25, Inf), right=FALSE), ' _ ',
                              cut(Petal.Length, c(0, 2, 4, Inf), right=FALSE)))
ggplot(my_data) +
  geom_point(aes(x = Petal.Width,
                 y = Petal.Length,
                 color = width_length))


输出:
r - 根据x和y值分配点颜色-LMLPHP

07-24 09:51