Here is my dummy code:
set.seed(1) df <- data.frame(xx=sample(10,6), yy=sample(10,6), type2=c('a','b','a','a','b','b'), type3=c('A','C','B','A','B','C') ) ggplot(data=df, mapping = aes(x=xx, y=yy)) + geom_point(aes(shape=type3, fill=type2), size=5) + scale_shape_manual(values=c(24,25,21)) + scale_fill_manual(values=c('green', 'red'))
The resulting plot has a legend, but the 'type2' section does not reflect the scale of the fill value - is this design?

source share