使用R中的函数分配图形属性

时间:2015-04-24 17:26:53

标签: r attributes igraph

我正在研究一组函数,这些函数允许我以各种方式绘制网络数据。因为某些程序正在多个函数中使用,为了避免复制和粘贴,我尝试将这些程序转换为迷你函数,然后我可以在必要时简单地调用。

现在我遇到了一个基于属性来装饰我的图形的迷你函数。例如,我希望能够绘制图表

   $('#load').show();
    var foodfall_start_date = $('#foodfall-start-date').val();
    var foodfall_end_date = $('#foodfall-end-date').val();                    
                var url = '/diner/footfallsource';                   
  $.ajax({ 
  type: 'POST', 
  dataType: 'html',
  url: url,  
  data : {id : '1'},
  success: function(data){
           alert(data);
  },
  error: function(data,tt, ee){
           alert(tt+" - "+ ee); // 404 Not Found
  }
});

并为其指定颜色。但是当我尝试使用以下功能时:

toy.graph <- graph.formula(121-221,121-345,121-587,345-587,221-587, 490, 588)

并将其应用于我的图表,颜色未添加:

deco <- function(x){
        V(x)$color <- "red"
}

我错过了什么?

1 个答案:

答案 0 :(得分:4)

两件事:

  1. 您的函数未返回值。
  2. 调用函数时,不会重新分配变量。
  3. 尝试:

    if (NSClassFromString('SomeClass') == NULL)
    

    如果您想避免重新分配变量并让函数返回值,您可以在函数内使用toy.graph <- graph.formula(121-221,121-345,121-587,345-587,221-587, 490, 587) deco <- function(x){ V(x)$color <- "red" return(x) } toy.graph <- deco(toy.graph) plot(toy.graph) 来评估父环境中的eval

    编辑环境乐趣:

    V(x)$color <- "red"