2015-12-15 19 views
6

Próbuję zrobić wykres bąbelkowy z dwóch współrzędnych i parametr wielkości z gooogleVis w R.R googleVis BubbleChart, zestaw rozmiar bez ustawiania kolorów

Kiedy nie ustalenia koloru zmiennej, zmienna wielkość jest używany jako kolor zamiast rozmiaru. Mogę dołączyć colorvar, ale zmienna jest wyświetlana w etykiecie narzędzia.

Jak mogę uniknąć tego zachowania?

ja zawierać minimum przykład pracy z dwóch przypadkach wspomnianych wcześniej:

library(googleVis) 
set.seed(1) 

bubbledata<-data.frame(id=rep("",100),X=sample(10,10,rep=TRUE), 
         Y=sample(10,10,rep=TRUE),Weight=sample(10,10,rep=TRUE)) 

# This graph uses sizevar as colorvar 
bubble <- gvisBubbleChart(bubbledata, idvar="id", 
          xvar="X", yvar="Y",colorvar="", 
          sizevar="Weight") 
plot(bubble) 

bubbledata$colour<-"" 

# The output of this one is ok but the tooltip includes the colour var 
bubble2 <- gvisBubbleChart(bubbledata, idvar="id", 
          xvar="X", yvar="Y",colorvar="colour", 
          sizevar="Weight") 
plot(bubble2) 
+1

Wystarczy, aby wyjaśnić, dlaczego sizevar jest identyfikowany jako colorvar, wykonane z pliku pomocy komendy użytkownika. „Wykres bańka służy do wizualizacji zestawu danych z 2 do 4 wymiarach dwóch pierwszych wymiary są wizualizowane jako współrzędne, ** 3rd jako kolor i 4t h jako rozmiar **. " Opierając się na tym stwierdzeniu, nie sądzę, że istnieje łatwy sposób wykreślania tylko trzech zmiennych bez ręcznej zmiany końcówki narzędzia. – Felix

+0

Dzięki za podpowiedź nie dotarłem do tego zdania w pliku pomocy. Spojrzałem na dokumentację wykresów google i wydaje się, że problem jest dziedziczony po pierwotnym projekcie. Spróbuję sam dostosować etykietę, ale nie wiem, czy uda mi się osiągnąć taką elastyczność, jak bym chciał. –

+0

Tak, sam sobie poradziłem z ręcznym edytowaniem końcówki narzędzia, używając 'gsub()' itp., Ale nie było to proste i po pół godzinie zrezygnowałem. Nie sądzę, że w końcu będzie to bardzo elastyczne. Być może zechcesz zgłosić błąd/plik z deweloperem na ten problem ... – Felix

Odpowiedz

4

Jeśli chcesz tylko jeden dodatkowy wymiar do bubblechart, to myślę, że jest to rozsądne, aby przypisać „waga” zarówno sizevar i colorvar, tak:

bubble <- gvisBubbleChart(bubbledata, idvar="id", 
         xvar="X", yvar="Y", 
         sizevar="Weight", colorvar = "Weight") 
+0

Problem dotyczy tego samego problemu, który ma moje drugie podejście, ma dwie wartości w etykiecie narzędzi: Waga i Waga.1. –

+0

Możesz dodawać etykiety ręcznie: 'with (bubbledata, text (Y ~ X, labels = Weight, pos = 4))' – mtoto

+0

W najgorszym przypadku uważam, że etykietkę narzędzia można dostosować. Miałem jednak nadzieję, że istnieje prostszy sposób na wykreowanie BubbleChart z trzema zmiennymi. The BubbleChart może być drukowany z 2 lub 3 zmiennymi, tj. bubble <- gvisBubbleChart (bubbledata, idvar = "id", xvar = "X", yvar = "Y"); więc nie jest prawdą, że 4 zmienne są obowiązkowe (4 + 1 (id) w rzeczywistości). Z jakiegoś powodu sizevar jest identyfikowane jako colorvar, stąd moje pytanie. –