我正在尝试在jupyter笔记本中使用D3(w / python 2.x内核)。几个网站解释了如何做到这一点,但看起来我的 require 回调函数没有被调用。
以下是一些(简化的)代码:
from IPython.display import SVG, Javascript, HTML
以下在结果区
中正确显示“hi”%%javascript
element.append("hi");
从某个网站复制粘贴:
%%javascript
require.config({
paths: {
d3: '//d3js.org/d3.v4.min.js'
}
});
执行上述操作时没有错误
%%javascript
require(['domReady', 'd3'], function(domReady, d3){
domReady(function(){
console.log("test4");
});
console.log("test2");
element.append("hi")
});
console.log("test3");
上面的剪辑仅将'test3'打印到控制台。这告诉我永远不会调用回调函数! (domReady业务就在那里,因为网上有人建议它可以解决一些加载竞争条件问题)。
正如你所看到的,问题似乎是需要调用,它甚至没有进入d3!
这款笔记本正在运行Python内核2.7。 Jupyter版本本身目前是JupyterLab v0.27.0,但我刚刚安装了这个版本。在此之前,我使用的是'conda install ...'
中提供的标准Jupyter版本