2013-06-02 15 views
26

Sto utilizzando Google Motion Chart con Shiny R e non sono in grado di modificare alcune delle cose di base. Sono nuovo di Shiny R e ho già iniziato ad amarlo. Ecco il mio codice:Modifica del diagramma di movimento di Google

ui.R

library(shiny) 
    shinyUI((
    mainPanel( 
     h4("Interactive Analytics"), 
     htmlOutput("view_gviz") 
    ) 
)) 

shiny.R

library(shiny) 
library(googleVis)  
sample_data <- structure(list(YEAR = c(2001L, 2001L, 2001L, 2001L, 2001L, 2001L, 2001L, 2001L, 2001L, 2001L, 2001L, 2001L, 2001L, 2001L, 2001L, 2002L, 2002L, 2002L, 2002L, 2002L, 2002L, 2002L, 2002L, 2002L, 2002L, 2002L, 2002L, 2003L, 2003L, 2003L, 2003L, 2003L, 2003L, 2003L, 2003L, 2003L, 2003L, 2003L, 2003L, 2003L, 2003L, 2003L, 2003L), STORM = structure(c(3L, 9L, 16L, 25L, 36L, 40L, 46L, 58L, 64L, 70L, 75L, 86L, 91L, 97L, 100L, 8L, 10L, 22L, 29L, 32L, 39L, 52L, 53L, 67L, 72L, 80L, 84L, 5L, 13L, 20L, 24L, 35L, 38L, 51L, 56L, 66L, 73L, 77L, 81L, 92L, 95L, 99L, 106L), .Label = c("alberto", "alex", "allison", "alpha", "ana", "andrea", "arlene", "arthur", "barry", "bertha", "beryl", "beta", "bill", "bonnie", "bret", "chantal", "charley", "chris", "cindy", "claudette", "colin", "cristobal", "danielle", "danny", "dean", "debby", "delta", "dennis", "dolly", "don", "earl", "edouard", "emily", "epsilon", "erika", "erin", "ernesto", "fabian", "fay", "felix", "fiona", "florence", "frances", "franklin", "fred", "gabrielle", "gamma", "gaston", "gert", "gordon", "grace", "gustav", "hanna", "harvey", "helene", "henri", "hermine", "humberto", "ida", "igor", "ike", "ingrid", "irene", "iris", "isaac", "isabel", "isidore", "ivan", "jeanne", "jerry", "jose", "josephine", "juan", "julia", "karen", "karl", "kate", "katia", "katrina", "kyle", "larry", "laura", "lee", "lili", "lisa", "lorenzo", "marco", "maria", "matthew", "melissa", "michelle", "mindy", "nana", "nate", "nicholas", "nicole", "noel", "not named", "odette", "olga", "omar", "ophelia", "otto", "paloma", "paula", "peter", "philippe", "richard", "rina", "rita", "sean", "shary", "stan", "subtrop", "tammy", "tomas", "unnamed", "vince", "wilma", "zeta"), class = "factor"), MAX_PRESSURE = c(1012L, 1018L, 1012L, 1013L, 1015L, 1009L, 1010L, 1012L, 1011L, 1008L, 1009L, 1010L, 1006L, 1000L, 1006L, 1009L, 1013L, 1008L, 1009L, 1013L, 1009L, 1009L, 1014L, 1009L, 1016L, 1012L, 1009L, 1008L, 1009L, 1016L, 1024L, 1011L, 1009L, 1013L, 1013L, 1009L, 1009L, 1008L, 1009L, 1008L, 1014L, 1006L, 1009L), AVERAGE_PRESSURE = c(1006.05, 1006.37, 1006.78, 1005.37, 991, 991.32, 992.04, 993, 991.09, 1006.79, 992.15, 1008.5, 979.27, 991.25, 992.82, 1000.29, 1010.85, 1002.3, 1002.73, 1007.25, 1005.4, 983.81, 1003.86, 984.83, 1010.44, 1001.45, 992.67, 1001.64, 1006.14, 1002.25, 1014.29, 1001.7, 965.33, 1009.5, 1005.42, 955.5, 986.57, 984.46, 1002.58, 1006.5, 1004.62, 1000.4, 1002.13), MIN_PRESSURE = c(1000L, 990L, 997L, 994L, 968L, 962L, 975L, 970L, 948L, 1004L, 982L, 1007L, 934L, 986L, 973L, 992L, 1008L, 999L, 997L, 1002L, 998L, 960L, 1001L, 934L, 1004L, 980L, 940L, 994L, 997L, 982L, 1000L, 988L, 939L, 1007L, 997L, 915L, 969L, 952L, 993L, 1002L, 990L, 993L, 990L),  MAX_WIND_SPEED = c(60L, 70L, 70L, 70L, 120L, 115L, 80L, 105L,  145L, 50L, 80L, 40L, 140L, 75L, 90L, 60L, 40L, 50L, 60L,  65L, 60L, 100L, 60L, 125L, 60L, 85L, 145L, 60L, 60L, 85L,  75L, 75L, 145L, 40L, 60L, 165L, 105L, 125L, 65L, 45L, 70L,  65L, 70L), AVERAGE_WIND_SPEED = c(30.72, 36.45, 47.65, 44.48,  64.67, 62.6, 58.53, 69.23, 73.8, 42, 62.1, 36.87, 77.72,  62.5, 55.63, 47, 26, 43.07, 44.61, 37.25, 25.21, 56.48, 42,  61.03, 40.55, 48.46, 61.05, 43.12, 35.25, 54.88, 39.65, 52,  100.47, 30.41, 35.47, 115.43, 74.04, 73.1, 39.63, 37.85,  41.12, 50.9, 45), MIN_WIND_SPEED = c(15L, 10L, 30L, 30L,  15L, 30L, 30L, 30L, 30L, 30L, 35L, 35L, 35L, 50L, 30L, 35L,  15L, 35L, 25L, 25L, 0L, 25L, 25L, 25L, 35L, 30L, 30L, 0L,  25L, 30L, 25L, 30L, 30L, 15L, 30L, 30L, 30L, 35L, 15L, 30L,  25L, 35L, 35L), MAX_STORM_MOVEMENT_SPEED = c(31L, 13L, 37L,  37L, 36L, 23L, 37L, 32L, 21L, 23L, 48L, 32L, 35L, 23L, 20L,  39L, 11L, 23L, 23L, 12L, 17L, 46L, 14L, 57L, 36L, 24L, 28L,  34L, 24L, 31L, 21L, 26L, 48L, 25L, 18L, 47L, 44L, 56L, 10L,  14L, 23L, 36L, 24L), AVERAGE_STORM_MOVEMENT_SPEED = c(7.85,  6.86, 19.12, 17.82, 13.93, 11.22, 14.8, 13.16, 18.14, 18.88,  14, 13.59, 8.87, 11.18, 8.43, 21.89, 5.36, 5.58, 12.83, 4.89,  4.54, 18.61, 7.85, 11.94, 16.37, 6.97, 12.33, 14.64, 13.05,  14.59, 10.13, 18.55, 17.07, 11.81, 6.7, 12.19, 12.19, 17.61,  3.75, 9.38, 9.24, 17.14, 13.14), MIN_STORM_MOVEMENT_SPEED = c(1L,  2L, 3L, 0L, 3L, 1L, 2L, 8L, 13L, 10L, 5L, 4L, 1L, 1L, 1L,  5L, 2L, 3L, 0L, 0L, 2L, 8L, 3L, 2L, 5L, 1L, 3L, 4L, 3L, 2L,  3L, 13L, 6L, 6L, 2L, 5L, 2L, 5L, 0L, 5L, 1L, 4L, 3L), STORM_LENGTH = c(14L,  6L, 8L, 7L, 16L, 12L, 10L, 6L, 5L, 2L, 4L, 4L, 8L, 2L, 11L,  5L, 5L, 3L, 6L, 5L, 6L, 7L, 3L, 13L, 2L, 22L, 13L, 9L, 5L,  10L, 11L, 3L, 13L, 3L, 5L, 14L, 5L, 15L, 10L, 4L, 19L, 5L,  4L)), .Names = c("YEAR", "STORM", "MAX_PRESSURE", "AVERAGE_PRESSURE", "MIN_PRESSURE", "MAX_WIND_SPEED", "AVERAGE_WIND_SPEED", "MIN_WIND_SPEED", "MAX_STORM_MOVEMENT_SPEED", "AVERAGE_STORM_MOVEMENT_SPEED", "MIN_STORM_MOVEMENT_SPEED", "STORM_LENGTH"), row.names = c(NA, 43L), class = "data.frame")  
shinyServer(function(input, output) { 
     output$view_gviz <- renderGvis({ 
           chart <- gvisMotionChart(sample_data, 
             idvar="STORM", 
             timevar="YEAR", 
             xvar="AVERAGE_WIND_SPEED", 
             yvar="AVERAGE_PRESSURE", 
             colorvar="MAX_STORM_MOVEMENT_SPEED", 
             sizevar="STORM_LENGTH", 
             options=list(width=1080, height=500, showChartButtons = FALSE) 
             ) 
     }) 
}) 

Ora, ecco la lista delle cose che io non sono in grado di fare:

  1. Voglio mettere/modificare i tooltip. Ho visto un esempio in Gapminder site. Voglio aggiungere il suggerimento sopra gli indicatori sull'asse X, sull'asse Y, sui colori e sulle dimensioni.
  2. Rimuovere il pulsante di riproduzione insieme al pulsante della velocità di riproduzione. Non sembra una buona idea, ma voglio trascinare il cursore e nessuna animazione nel tempo. Avrebbe senso con i dati completi.
  3. Lo zoom in avanti non funziona con il clic del mouse. Dobbiamo premere Invio con la tastiera per ingrandire. Abbiamo qualche soluzione per risolvere questo problema?
+0

Hai mai trovato un modo per fare qualcuna di queste? – aashanand

+1

Purtroppo no. Ecco perché non c'è nessuna risposta finora. Altrimenti avrei postato la risposta da solo. – Sabin

+0

Hai mai pensato di mettere una taglia su questa domanda? Chiunque sappia come replicare l'esempio di Gapminder merita una reputazione seria. – aashanand

risposta

1

Sfortunatamente, non penso che le voci 1 e 2 siano supportate dall'API di Google. Per quanto riguarda il 3, penso che questo dipenda dal lettore Flash che usi. La build di Chrome in Flash Player mi ha causato problemi in passato, mentre il Flash player di Adobe sembra consentire la funzione di zoom.

Google Chart API Forum Il Google Chart API Forum potrebbe essere il posto migliore per porre tali domande, in quanto non sono direttamente correlate a R o lucido.

Problemi correlati