小编can*_*his的帖子

d3力导向网络的json表示

我正在尝试对RISK进行网络可视化.您可以使用http://bl.ocks.org/4683850上的所需代码查看它.

可视化工作但需要大量的手工劳动.我手动调整了json文件,使得连接具有以下形状:

{
    "source": 1,
    "target": 0,
    "value": 5
} 
Run Code Online (Sandbox Code Playgroud)

需要对d3代码做什么,以便连接由节点名称决定?输入将是:

{
    "source": "WesternAustralia",
    "target": "NewGuinea",
    "value": 5
} 
Run Code Online (Sandbox Code Playgroud)

每当我尝试时,我都会收到以下错误:

Uncaught TypeError: Cannot call method 'push' of undefined 
Run Code Online (Sandbox Code Playgroud)

javascript d3.js force-layout

4
推荐指数
1
解决办法
3766
查看次数

Crossfilter javascript超出最大调用堆栈大小,没有Nan

我正在玩crossfilter.js,请参阅https://github.com/square/crossfilter/wiki/API-Referencehttp://square.github.io/crossfilter/.

据说这个库非常擅长快速处理数据.因此,为了测试它,我首先创建一个随机数组,一个大的,有一百万行.

    function create_random_json(){
        result = []     
        for (var i = 1000000 - 1; i >= 0; i--) {
            result.push( { 'a': Math.random() , 'b' : Math.random() * 5  } )
        }
        return result
    }

    json_array = create_random_json() 

    df = crossfilter( json_array )
Run Code Online (Sandbox Code Playgroud)

到目前为止一切都很好,但是当我尝试做一些基本的交叉滤波器时,情况就非常糟糕了.

df.dimension( function(d){ return d.total; }); 
RangeError: Maximum call stack size exceeded
Run Code Online (Sandbox Code Playgroud)

我已经读过这个错误可能是由NaN值引起的,但是我生成的所有值显然都是浮点数,所以我假设其他东西导致了问题.任何提示?

javascript d3.js crossfilter

3
推荐指数
1
解决办法
4203
查看次数

chrome devtools不一致的数组长度

我似乎偶然发现了Chrome DevTools中的不一致之处。

在此处输入图片说明

上面是devtools的屏幕截图。首先,我被告知打印对象包含a Body和a Head。头部应该是长度为1的数组。展开时,该数组突然变为长度为2。

当扩展有问题的数组时,我得到以下内容;

在此处输入图片说明

因此,数组中似乎也有一个空字符串。这个空字符串是导致我的代码出现问题的原因,这促使我进行调查。我最关心的是DevTools的输出,有人能想到devtools为同一数组给出两个不同长度的原因吗?

DevTools是否自动将长度为1的数组的内容解析为单独的变量?Head: [Array[2]]在那种情况下,我会期望的。

console.log用来在ubuntu虚拟机上的Chrome开发工具中输出列出的屏幕截图。

javascript arrays google-chrome google-chrome-devtools console.log

3
推荐指数
1
解决办法
1302
查看次数

python值变为零,如何防止

我在python中进行似然比测试时遇到了数值问题.关于统计数据的含义,我不会详细说明,我的问题归结为计算:

LR = LR_H0 / LR_h1 
Run Code Online (Sandbox Code Playgroud)

LR感兴趣的数量在哪里,LR_H0而且LR_H1数字可能非常接近于零.这导致了一些数值问题; 如果LR_H1太小,那么python会将其识别为零除以.

ZeroDivisionError: float division by zero
Run Code Online (Sandbox Code Playgroud)

此外,虽然这不是主要问题,但如果LR_H1小到足以允许除法,那么分数LR_H0 / LR_h1可能变得太大(我假设python也有浮点数的上限值).

关于解决这个问题的最佳方法的任何提示?我正在考虑做类似的事情:

def small_enough( num ): 
    if num == 0.0: 
        return *other small number* 
    else: 
    return num 
Run Code Online (Sandbox Code Playgroud)

但这并不理想,因为它会接近这个LR值,我想保证一些精确度.

python floating-point statistics numpy rounding

2
推荐指数
1
解决办法
900
查看次数

jquery ajax post list将'[]'附加到django中的querydict

我正在研究Django项目,我正在通过Jquery的ajax方法发送一个帖子请求.已使用javascript从浏览器cookie中检索csrftoken.

$.ajax({    
    type : 'POST', 
    beforeSend: function( xhr, settings){
        xhr.setRequestHeader("X-CSRFToken", csrftoken ); 
    },  
    url : '/endpoint/',
    data : { 'requestParam': [1,2,3,4] }
}).done(function(d) {
    callback(d);
});
Run Code Online (Sandbox Code Playgroud)

然后我通过ajax调用检查后端接收的内容;

print( request.POST )
Run Code Online (Sandbox Code Playgroud)

我在期待这个;

<QueryDict: {u'requestParam': [u'1', u'2', u'3', u'4']}>
Run Code Online (Sandbox Code Playgroud)

相反,我得到了这个;

<QueryDict: {u'requestParam[]': [u'1', u'2', u'3', u'4']}>
Run Code Online (Sandbox Code Playgroud)

这似乎很奇怪.关键名称中的'[]'额外来自哪里?这是在Django中以这种方式处理的约定,还是AJAX在发送列表时所做的事情?

javascript python django ajax jquery

1
推荐指数
1
解决办法
1592
查看次数

为什么在scala中使用返回一个坏习惯

我正在通过课程中的函数式编程课程进行scala.我注意到自动样式检查器告诉我使用'return'是一个坏习惯.这是为什么?对我而言,似乎使用return会使代码更具可读性,因为任何其他程序员都可以立即看到它以及函数返回的内容.

例如,这是为什么;

def sum(xs: List[Int]): Int = {
    if( xs.length == 0){
      return 0
    }else{
      return xs.head + sum(xs.tail)
    }
}
Run Code Online (Sandbox Code Playgroud)

被认为比这更糟糕;

def sum(xs: List[Int]): Int = {
    if( xs.length == 0){
      0
    }else{
      xs.head + sum(xs.tail)
    }
}
Run Code Online (Sandbox Code Playgroud)

我习惯了javascript,所以这可能是我对此感到不安的原因.不过,任何人都可以明白为什么添加return语句会让我的代码变得更糟吗?如果是这样,为什么语言中有返回声明?

scala code-cleanup

1
推荐指数
2
解决办法
452
查看次数

bash尾部没有变量的文件夹中的最新文件

我在一个文件夹中有一堆日志文件.当我进入文件夹并查看文件时,它看起来像这样.

$ ls -lhat
-rw-r--r--   1 root root 5.3K Sep 10 12:22 some_log_c48b72e8.log
-rw-r--r--   1 root root 5.1M Sep 10 02:51 some_log_cebb6a28.log
-rw-r--r--   1 root root 1.1K Aug 25 14:21 some_log_edc96130.log
-rw-r--r--   1 root root 406K Aug 25 14:18 some_log_595c9c50.log
-rw-r--r--   1 root root  65K Aug 24 16:00 some_log_36d179b3.log
-rw-r--r--   1 root root  87K Aug 24 13:48 some_log_b29eb255.log
-rw-r--r--   1 root root  13M Aug 22 11:55 some_log_eae54d84.log
-rw-r--r--   1 root root 1.8M Aug 12 12:21 some_log_1aef4137.log
Run Code Online (Sandbox Code Playgroud)

我想查看最新日志文件中的最新消息.我现在可以手动复制最新日志的名称,然后对其执行尾部,这将起作用.

$ tail -n …
Run Code Online (Sandbox Code Playgroud)

linux bash tail

1
推荐指数
1
解决办法
1180
查看次数