2016-05-13 61 views
1

我正在一个闪亮的应用程序工作,我认为这可能是一个不错的主意,通过创建一个样式表在我的ggvis主题的单独R文件上的一种样式表。然后,我想调用“造型 - 块”每当我需要他们在我的主server.R脚本如何将代码块分配给ggvis中的对象?

所以这是一个样本条形图:

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

对此我想链下面的代码

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

我以为我可以分配到add_axis对象,然后链的对象,但它不工作。这里是我的意思是:

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() 

我欢迎不但对因任何反馈为什么我的代码不工作,也对我的做法是否让任何意义可言。

回答

2

我们需要创建一个将传递一个函数vis对象add_axis()

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