我想知道是否可以根据ggplot2中的x和y值分配点颜色?
例如,我要分配点(x = 4)为绿色。
我知道可以通过对数据框进行细分,然后将它们绘制在一起来完成,但是我想知道是否有一种简单的方法。
library(ggplot2)
data("iris")
ggplot() + geom_point(data = iris, aes(x = Petal.Width,
y = Petal.Length))
最佳答案
试试这个:
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))
输出: