2013-10-17 20 views
7

Ho giocato con rCharts e nvd3 per un po 'di tempo adesso. Ora mi trovo in una situazione in cui ho bisogno di un grafico a bolle, o almeno di un grafico a dispersione in cui la dimensione dei punti dipende da una variabile nei dati. Da this example, sembra possibile. L'esempio a grafici a dispersione in rCharts è:nvd3 scatterPlot con rCharts in R: Varia dimensioni dei punti?

library(rCharts) 
p1 <- nPlot(mpg ~ wt, group = 'cyl', data = mtcars, type = 'scatterChart') 
p1$xAxis(axisLabel = 'Weight') 
p1 

Così ho cercato dimensioni impostazione, per esempio gears. Ma non cambia nulla.

p2 <- nPlot(mpg ~ wt, group = 'cyl', size = 'gear', data = mtcars, type = 'scatterChart') 
p2$xAxis(axisLabel = 'Weight') 
p2 

È possibile?

risposta

18

E 'possibile utilizzare il metodo chart, che consente di specificare size, color ecc L'implementazione è un po' goffo in questo momento, e si richiede di passare una funzione javascript che restituisce la colonna specificando le dimensioni. La sintassi #! ... !# è necessaria per dire a rCharts di trattare il contenuto come un valore letterale JS e non di convertirlo in una stringa durante l'assemblaggio del payload. Il grafico può essere visualizzato here

library(rCharts) 
p2 <- nPlot(mpg ~ wt, group = 'cyl', data = mtcars, type = 'scatterChart') 
p2$xAxis(axisLabel = 'Weight') 
p2$chart(size = '#! function(d){return d.gear} !#') 
p2 

NVD3 Chart with Size