Похоже, проблема в том, что точки имеют дискретную color
эстетику, но не group
эстетику.Если вы хотите сохранить окраску с помощью дискретной переменной, добавьте group = cyl
к эстетике слоя geom_point
.Если вы строите график с другим набором данных, переменная группировки будет той же самой переменной, которую вы строите вдоль оси X.
Один улов: вам нужно увеличить jitter.width
, когда вы применяете группировку, чтобы она была видимой,Здесь мне нужно было набрать от 0,2 до 3.
Другой вариант - раскрасить непрерывной переменной.
library(tidyverse)
library(ggpubr)
mtcars$cyl=factor(mtcars$cyl)
p3=mtcars %>% ggplot(aes(x=cyl, y=mpg, fill=cyl))+
geom_boxplot()+
geom_point(aes(color = factor(wt), group = cyl),
position=position_jitterdodge(jitter.width=0.2),
show.legend = F)
p4=mtcars %>% ggplot(aes(x=cyl, y=mpg, fill=cyl))+
geom_boxplot()+
geom_point(aes(color = wt),
position=position_jitterdodge(jitter.width=0.2),
show.legend = F)
ggarrange(p3, p4)
Это в конечном итоге будет встроено, но сейчас ссылка: color_and_jitter