Why custom colors without scale_fill_identify does not work in ggplot?
The scale_fill_...
functions determine the scale used for the fill aesthetic, which would be the color used. If you don't include it, it uses the default ggplot color scale.
By providing a scale_fill_...
function, you replace the default color scale with one of your choice –