2016-05-13 5 views
1

Ich arbeite an einer glänzenden App und ich dachte, es könnte eine gute Idee sein, meinen Code aufzuräumen, indem ich eine Art Stylesheet in einer separaten R-Datei für meine ggvis-Themes erstelle. Dann würde ich gerne die „Styling-Brocken“ berufen, wenn ich sie in meiner Haupt-server.R Skript benötigenWie weise ich Objekten in ggvis Codeabschnitte zu?

Das ist also eine Probe Balkendiagramm:

cars %>% 
    distinct(speed) %>% 
    filter(speed<10) %>% 
    ggvis(x=~speed, y=~dist) %>% 
    layer_bars(fill:="#73879C", stroke:="#73879C") 

, auf die ich mag Kette der folgende Code

add_axis("y", title = "", grid=FALSE, 
      properties= axis_props(
      labels = list(
       fill="#777" 
      ), 
      axis = list(stroke = "#fff") 
      )) 

ich dachte, ich die add_axis zu einem Objekt zuordnen konnte und die Kette dann das Objekt, aber es funktioniert nicht. Hier ist, was ich meine:

eliminateGrid <- function(x){add_axis("y", title = "", grid=FALSE, 
      properties= axis_props(
      labels = list(
       fill="#777" 
      ), 
      axis = list(stroke = "#fff") 
      ))} 


cars %>% 
     distinct(speed) %>% 
     filter(speed<10) %>% 
     ggvis(x=~speed, y=~dist) %>% 
     layer_bars(fill:="#73879C", stroke:="#73879C") %>% 
    eliminateGrid() 

Ich begrüße anyfeedbacks nicht nur auf dem Grunde, warum mein Code nicht funktioniert, sondern auch, ob mein Ansatz macht überhaupt keinen Sinn.

Antwort

2

Wir brauchen eine Funktion zu erstellen, die vis Objekt add_axis() passieren würde:

eliminateGrid <- function(vis){ 
    add_axis(vis = vis, type = "y", title = "", grid = FALSE, 
      properties= axis_props(
      labels = list(
       fill="#777"), 
      axis = list(stroke = "#fff") 
      )) 
    }