Atribuindo 40 formas ou mais em scale_shape_manual

Eu tenho um quadro de dados com mais de 40 níveis de fator e gostaria de atribuir formas diferentes para cada nível. No entanto, como mostrado noscale_shapes_table doggplot2, Posso atribuir apenas 26 deles e alguns!,",# e assim por diante.

Mas eu sei que em python ou jmp você pode atribuir muitas formas (como asteriks, triângulo esquerdo, triângulo direito, retângulo etc.). Também é possível também emggplot2?

data=data.frame(gr=seq(1,40), x1=runif(40), y1=runif(40))
library(ggplot2)
ggplot(data=data,aes(x=x1,y=y1,shape=factor(gr),col=factor(gr)))+
  geom_point(alpha = 0.3,size=4,stroke=1.4) +
  scale_shape_manual(values=c(0:40))

questionAnswers(3)

yourAnswerToTheQuestion