我在与ggplot2斗争。实际上,我想为散点图中的某些特定点着色。
让我用“ mtcars”数据解释我的问题。 我已经针对“ wt”绘制了“ mpg”。
ggplot(data = mtcars, mapping = aes(x = wt, y = mpg)) + geom_point()
此后,我要突出显示所有马力分别为180(蓝色)和110(红色)的汽车,其余应保持黑色。
如果我使用
ggplot(data = mtcars, mapping = aes(x = wt, y = mpg,col=factor(hp))) + geom_point()
然后每个不同的马力都会上色。
答案 0 :(得分:2)
library(dplyr)
library(ggplot2)
df <- mtcars %>%
mutate(
horse_power = case_when(
hp == 180 ~ "180 hp",
hp == 110 ~ "110 hp",
T ~ "else"
)
)
ggplot(data = df, mapping = aes(x = wt, y = mpg, color = horse_power)) +
geom_point() +
scale_color_manual("Horse power", values = c("red", "blue", "green")) +
labs(
x = "Weight (1000 lbs)",
y = "Miles/(US) gallon"
)