如何在ggvis中为对象分配代码块?

时间:2016-05-13 21:28:51

标签: r dplyr ggvis

我正在一个闪亮的应用程序工作,我认为通过在我的ggvis主题的单独R文件上创建一种样式表来整理我的代码是个不错的主意。然后我想调用"样式块"每当我需要它们在我的主服务器.R脚本

这是一个示例条形图:

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

我欢迎任何反馈不仅包括我的代码无效的原因,还包括我的方法是否有任何意义。

1 个答案:

答案 0 :(得分:2)

我们需要创建一个将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") )) } 的函数:

console.log