Adição interativa de pontos ao R da plotagem sem redesenhar a plotagem de fundo

O MWE abaixo simplifica demais meu objetivo real. No entanto, eu tenho uma imagem de plano de fundo que demora muito para desenhar (no exemplo abaixo, é simplesmente um gráfico de dispersão de 32 valores de conjunto de dados de mtcars). Os usuários podem clicar em certos pontos da minha imagem de plano de fundo, e isso fará com que novos pontos sejam plotados. Meu objetivo é que esses novos pontos sejam simplesmente redesenhados na camada superior, enquanto o gráfico de dispersão da imagem de plano de fundo não precisa ser redesenhado para economizar tempo e computação.

Meu MWE é o seguinte:

library(plotly)
library(htmlwidgets)

g <- ggplot(mtcars, aes(x=mpg, y=cyl)) + geom_point()
gP <- ggplotly(g)

gP %>% onRender("
          function(el, x) {
            myGraph = document.getElementById(el.id);

            el.on('plotly_click', function(e) {

              console.log(e)
              console.log(e.points[0].x)

              var trace1 = {
                x: [e.points[0].x-.3, e.points[0].x-.3, e.points[0].x+.3, e.points[0].x+.3],
                y: [e.points[0].y-.3, e.points[0].y+.3, e.points[0].y-.3, e.points[0].y+.3],
                type: 'scatter',
                fillColor : 'red', 
                size: 20
              };

              Plotly.addTraces(el.id, trace1);
           })}
           ")

Quando um usuário clica em qualquer um dos 32 pontos pretos, quatro pontos vermelhos coloridos são desenhados ao redor do ponto preto clicado. Isso geralmente funciona e, se você clicar em qualquer um dos 32 pontos de dados em preto, deverá ver os quatro pontos coloridos desenhados em torno dele. No entanto, estou lutando com algumas perguntas:

1) Como posso melhorar isso para que os quatro pontos coloridos não sejam conectados por linhas?

2) Como posso fazer com que o tamanho e o fillColor realmente funcionem? Quando altero seus valores, não os vejo tendo efeito.

3) Essa é uma sintaxe razoável para tornar a interatividade e o desenho o mais rápido possível? Tenho certeza de que a imagem de plano de fundo não está sendo redesenhada de maneira eficiente, mas gostaria de ouvir uma confirmação sobre isso, pois sou novo nessa sintaxe. Se eu adicionasse 100s de novos pontos na camada superior, isso ainda seria eficiente? Caso contrário, ficaria grato por ouvir conselhos sobre recomendações para melhorar a sintaxe.

Obrigado.

questionAnswers(1)

yourAnswerToTheQuestion