I have a data frame separated by 3 different factors. I want to represent this data frame with a scatter plot, using different types of scale for each factor.
I want to use shapes 21, 22 and 24, which are shapes with an outline and a colored filling. However, the filling scale does not appear correctly in the legend. Also, I want to unify the legend so that the labels look something like this (in the MWE I represented these labels with numbers from 1 to 18 (labels = 1:18)):
- A, M, V1
 - A, M, V2
 - A, M, V3
 - ...
 - B, O, V2
 - B, O, V3
 
I followed the recommendations of this answer, but the resulting plot was not as expected. Does anyone know how I can solve this issue?
library(ggplot2)
Factor1 <- c('A', 'B')
Factor2 <- c('M', 'N', 'O')
Factor3 <- c('V1', 'V2', 'V3')
DF <- expand.grid(Factor1 = Factor1,
                  Factor2 = Factor2,
                  Factor3 = Factor3)
DF$Result <- runif(n =18,
                   min = 0,
                   max = 100)
DF <- DF[order(DF[, "Result"]), ]
DF$Order <- 1:18
ggplot(data = DF,
       aes(x = Order,
           y = Result,
           fill = Factor1,
           shape = Factor2,
           size = Factor3)) +
  geom_point() +
  scale_fill_manual(name = "Legend",
                    values = c('blue', 'red'),
                    labels = 1:18) +
  scale_shape_manual(name = "Legend",
                     values = c(21,22,24),
                     labels = 1:18) +
  scale_size_manual(name = "Legend",
                    values = c(2,4,6),
                    labels = 1:18)

