Ist es möglich, die Polygonfüllung im Flugblatt für shiny zu aktualisieren, ohne das Kartenobjekt neu zu erstellen?

8

In der Broschüre würde ich normalerweise eine Karte erstellen mit:

server.R

%Vor%

sub_shape oben ist mein Shapefile (in diesem Fall Postleitzahlen in den USA) und Farben $ color ist ein dynamischer Vektor von Farben, der jeder Form entspricht. Sie könnten mit dem Link hier wiederherstellen: Ссылка , und colors <- data.frame(color = colorRampPalette(c("white","blue"))(13))

ui.R

%Vor%

Dies ergibt:

Was ich tun möchte, ist den Farbvektor basierend auf einer Benutzereingabe zu ändern. Zum Beispiel könnten sie eine andere Variable auswählen, um jede Postleitzahl zu färben, indem sie einen neuen Gradienten erzeugen.

Mit Shiny können wir dies tun, als ob ich den Farbvektor basierend auf einem Eingabe-Widget ändere, die reaktive Funktion aktualisiert und die Map basierend auf dem neuen Vektor neu erstellt. Das Problem besteht darin, dass diese Aktualisierung bei großen Shapefile-Objekten sehr lange dauert.

Gibt es eine Möglichkeit, die Farbe der aktuell gerenderten Formen direkt zu ändern, ohne die gesamte Ebene neu zu erstellen? Es scheint, als wäre das Argument color innerhalb der Funktion leaflet () gesperrt. Gibt es einen anderen Weg, um daran zu kommen?

    
Chris 07.05.2015, 02:48
quelle

0 Antworten

Tags und Links