The plot consists of a comparison between values calculated from a linear regression and their corresponding experimental values from many research papers. On ggplot, I am trying to assign unique symbols for the points from each paper (82 in total) and can only come up with 45 unique symbols that look good. Here is what I have so far:
I have a series of symbols and boarders:
symbols <- c(21, 22, 23, 24, 25, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 21, 22, 23, 24, 25, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 21, 22, 23, 24, 25)
Palette <- c("#1A118E", "#136520", "#10BFBF", "#D8CB2B", "#FFFF00", "#FF9900", "#0ADCF2", "#136330", "#FF0000", "#600D91", "#00FF00", "#FF00CC", "#FFCC00", "#1A118E", "#136520", "#10BFBF", "#D8CB2B", "#FFFF00", "#FF9900", "#0ADCF2", "#136330", "#FF0000", "#600D91", "#00FF00", "#FF00CC", "#FFCC00", "#1A118E", "#136520", "#10BFBF", "#D8CB2B", "#FFFF00", "#FF9900", "#0ADCF2", "#136330", "#FF0000", "#600D91", "#00FF00", "#FF00CC", "#FFCC00", "#1A118E", "#136520", "#10BFBF", "#D8CB2B", "#FFFF00", "#FF9900", "#0ADCF2", "#136330", "#FF0000", "#600D91", "#00FF00", "#FF00CC", "#FFCC00")
borders <- c("#000000", "#000000", "#000000","#000000", "#000000", "#FF9900", "#0ADCF2", "#136330", "#FF0000", "#600D91", "#00FF00", "#FF00CC", "#FFCC00", "#1A118E", "#136520", "#10BFBF", "#D8CB2B", "#FFFF00", "#FF9900", "#0ADCF2", "#000000", "#000000", "#000000", "#000000", "#000000", "#000000", "#000000", "#000000","#000000", "#000000", "#FF9900", "#0ADCF2", "#136330", "#FF0000", "#600D91", "#00FF00", "#FF00CC", "#FFCC00", "#1A118E", "#136520", "#10BFBF", "#D8CB2B", "#FFFF00", "#FF9900", "#0ADCF2", "#000000", "#000000", "#000000", "#000000", "#000000","#000000", "#000000", "#000000","#000000", "#000000", "#FF9900", "#0ADCF2", "#136330", "#FF0000", "#600D91", "#00FF00", "#FF00CC", "#FFCC00", "#1A118E", "#136520", "#10BFBF", "#D8CB2B", "#FFFF00", "#FF9900", "#0ADCF2", "#000000", "#000000", "#000000", "#000000", "#000000")
and plotting the points like this:
ggplot(df_select_Si) + geom_point(aes(x = logDsi, y = predictSi, color = ref, shape = ref, fill = ref), size = 2) +
scale_shape_manual(values = symbols) +
scale_fill_manual(values = Palette) +
scale_colour_manual(values = borders)+
geom_abline(intercept = 0, slope = 1, size=1)
'ref' refers to the reference list.
And get this error message:
Error in `palette()`:
! Insufficient values in manual scale. 82 needed but only 45 provided.
Run `rlang::last_error()` to see where the error occurred.
I can see that I don't have enough pallets and borders in my lists but is there a resource where I can manually list more? Should I go about this differently? Any help is greatly appreciated.