2013-10-17 25 views
7

Gram z rCharts i nvd3 już od jakiegoś czasu. Teraz znajduję się w sytuacji, w której potrzebuję wykresu bąbelkowego lub przynajmniej wykresu rozrzutu, w którym rozmiar kropek zależy od zmiennej w danych. Od this example wydaje się to możliwe. Przykładem na wykresach rozrzutu w rCharts jest:nvd3 scatterPlot z rCharts w R: Różny rozmiar punktów?

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

Więc próbowałem rozmiar ustawienie, na przykład gears. Ale to niczego nie zmienia.

Czy to możliwe?

Odpowiedz

18

Jest to możliwe za pomocą metody chart, która pozwala określić size, color itd. Realizacja jest trochę niezgrabne teraz, i wymaga, aby przekazać funkcji javascript, która zwraca kolumnę określającą rozmiar. Składnia #! ... !# jest wymagana, aby nakazać rCharts traktować zawartość jako literał JS, a nie konwertować go na ciąg podczas składania ładunku. Na wykresie można oglądać 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