Ответ 1
Ввести NA
и сопоставить их с цветом NA
с помощью scale_fill_discrete
:
ggplot(mtcars,aes(x=mpg,y=wt)) +
geom_point(size=10,
aes(
color=factor(cyl),
shape=factor(gear),
fill=factor(ifelse(vs, NA, cyl)) # <---- NOTE THIS
) ) +
scale_shape_manual(values=c(21,22,23)) +
scale_fill_discrete(na.value=NA, guide="none") # <---- NOTE THIS
Выдает:
EDIT: Чтобы обратиться к г-ну Флику, мы можем обманывать и добавлять слои/альфа. Обратите внимание, что нам нужно добавить слой, потому что, насколько я знаю, нет никакого способа управлять альфой самостоятельно для цвета и заливки:
library(ggplot2)
ggplot(mtcars,aes(x=mpg,y=wt, color=factor(cyl), shape=factor(gear))) +
geom_point(size=10, aes(fill=factor(cyl), alpha=as.character(vs))) +
geom_point(size=10) +
scale_shape_manual(values=c(21,22,23)) +
scale_alpha_manual(values=c("1"=0, "0"=1))